章 9. Kernel

/proc/pid/cmdline 的檔案長度現在已無限制

之前 /proc/pid/cmdlineps 的檔案長度限制為 4,096 個字元,之前已經寫死在 kernel 裡。此次更新確定了 /proc/pid/cmdline 的長度沒有限制,這在使用包含多個引數的長指令時,非常有用。

支援 LSO 與 LRO

此次更新加入了對 LSO(Large Send Offload)與 LRO(Large Receive Offload)的支援至 PowerVM 虛擬乙太網路卡(ibmveth)。這項加強功能能讓使用者在混合了 AIX 與 Linux CEC(Central Electronics Complex)的 SEA(共享的乙太網路卡,Shared Ethernet Adapter)上啟用 LRO,讓 AIX 在共享乙太網路環境中,有更好的網路效能與相容性。

ipr 已大幅升級至 2.6.3

ipr 驅動程式已經更新至上游版本 2.6.3,並提供了數項針對於先前版本所做出的錯誤修正與功能增強。其中啟用了 IBM Power 系統的新 SAS VRAID 介面卡,納入了最新的效能更新。也因此,此次更新改善了磁碟效能,並支援 IBM Power 系統上最新的介面卡。

ixgbe 已大幅升級至 4.2.1

ixgbe 網路卡驅動程式已升級為上游版本 4.2.1,並提供了數項針對於先前版本所做出的錯誤修正與功能增強。主要有:
  • 與 VLAN 支援相關的 null pointer 當掉事件已經修正。
  • 再支援兩款 Intel X550 乙太網路控制晶片的裝置:ID 15AC 與 15AD 已加入。
  • 已解決幾個 PHY 相關的問題:連線中斷與連線不穩定。
  • 針對 Intel X550 加入 PHY 的相關支援。
  • 效能已改善。

L2 快取資訊可使用 CPUID 指令來蒐集

這次更新後,L2 處理器快取的資訊(例如基本快取或快取數)能透過 CPUID 指令來蒐集。

bnx2 已大幅升級至 2.2.6

bnx2 網路卡驅動程式已升級為上游版本 2.2.6,並提供了數項針對於先前版本所做出的錯誤修正與功能增強。主要有:
  • 已解決一些 MF 模式的頻寬分配問題。
  • 現在可停用 rxvlan 的切換。
  • 已修正晶片初始化的 bug。
  • 已修正分頁大小不一致的使用方式。

e100 已大幅升級至 3.5.24-k2-NAPI

e100 網路卡驅動程式已升級為上游版本 3.5.24-k2-NAPI,它針對先前版本提供了數項錯誤修正和功能增強。值得注意的是,這項更新新增了 DMA 對應的錯誤檢查功能,以避免資源漏失,並解決了初始化時可能的 NULL 指標指向錯誤。

e1000e 已大幅升級至 3.2.6-k

e1000e 驅動程式已升級至上游版本 3.2.6-k,跟上個版本比起來,此版本修正了多個 bug。其中最顯著的,是新版本避免了資料毀損的問題,並在 Sx 模式中啟用了 ULP 與 EEE。

支援 Wacom Intuos PT 平板裝置

這次更新後,RHEL 6.8 支援數種 Wacom Intuos PT 平板裝置。新支援的裝置有:
  • PTH-650 Intuos5 touch (M)
  • CTH-480 Intuos Pen & Touch (S)
  • PTH-651 Intuos pro (M)

MLDv1 與 MLDv2 窺探功能加入 bridge 模組

這次更新後,bridge 模組增加了 IPv6 廣播的 MLDv1 與 MLDv2 窺探功能。IPv6 廣播訊息只會發送到訂閱了廣播接送者的連接埠。

更新 KABI 白名單

在 RHEL 6.8 中,hpvsahpdsa 驅動程式會在一個散佈版本的 kernel 更新後持續運作,因為這些更新會被加入 kernel ABI 白名單。除此之外,要啟用 fnic 模組的負載,就必須將來自 libfclibfcoe 模組的多個記號(symbol)加入 KABI 白名單中。

perf 已更新

為了要支援更大範圍的硬體,並整合多個 bug 修正檔,perf 已更新。主要加強功能如下:
  • 加入對第五代 Intel Core i7 新型號處理器的支援。
  • 加入對 Intel Xeon v5 行動裝置與桌上型處理器的支援。
  • 啟用 Intel Xeon v3 與 v4 處理器的 uncore 子系統之支援功能。
  • 啟用 Intel Xeon D-1500 處理器的 uncore 子系統之支援功能。

對 Intel Xeon v4 的 EDAC 支援

kernel 已更新,納入新的程式碼,其中加入了對 Intel Xeon v4 記憶體控制器的 EDAC(錯誤偵測與修正,Error Detection and Correction)。

當機傾印效能的增強

在系統擁有大量記憶體的情況下,kexec-toolsmakedumpfile 完成當機傾印的時間已經縮短,方法是使用 mmap() 來移除空的與不需要的分頁。

支援 Intel Xeon v3 與 v4 處理器(搭配 Gen 顯示)的間隔樹

為了要啟用一些 Intel 處理器的 GPU 功能,又不想重新編譯客製化的 kernel,間隔樹(Interval Tree)的支援功能已經加入。

更新 Intel 處理器的微碼

kernel 已經更新,包含了 Intel 最新的微碼(microcode)定義。這是本文出版時來自 Intel 的最新更新,版本為 20151106。

透過 nf_conntrack_proto_sctp 對第二組端點進行基本支援

SCTP(串流控制傳輸協定,Stream Control Transmission Protocol)已加入基本的多網路連結(multihome)支援,讓眾多第二端點間的交通可以通過;之前這會被視為不合乎規定的交通,且會被大部分防火牆配置給擋下。

sch_qfq 排程程式支援 QFQ+

sch_qfq 排程程式支援 QFQ+(快速公平佇列+,Quick Fair Queuing Plus)演算法則,這改善了排程器的效率與正確性。同時,多個 bug 已被修正,進一步改進多種情況下 sch_qfq 的行為。

現在可以追蹤、擷取磁帶機的 I/O 統計資料

現在可以追蹤、擷取磁帶裝置的 I/O 效能統計資料,並評量其效能。使用者可以使用自訂工具讀取 /sys/class/scsi_tape/ 樹中的統計資料,或升級到最新版的 sysstat 套件並使用 tapestat 工具程式。

mpt2sas 與 mpt3sas 已合併

mpt2sasmpt3sas 驅動程式的原始碼已經合併。跟上游的不同,RHEL 6 繼續維護兩種二進位驅動程式,以保有相容性。

新套件:WALinuxAgent

微軟 Azure Linux Agent(WALA)2.0.16 已經包括在「額外」頻道中。這代理程式能在 Windows Azure 雲端環境中提供、執行 Linux 虛擬機器,並可以安裝在為 Windows Azure 環境執行的 Linux 映像檔上。

韌體輔助的當機傾印

RHEL 6.8 引入了 fadump(韌體輔助傾印,firmware-assisted dump)的支援項目,這提供了 kdump 以外的傾印機制。fadump 僅支援 PowerPC 架構。fadump 的目標是啟用當機系統的傾印功能、從完全重新啟動的系統上進行此功能、並降低系統回到正常投產狀態前的總體當機時間。fadump 已與現有的 kdump 架構整合,在使用者空間中能無縫在 kdump 與 fadump 機制間切換。

為區塊裝置設定 SELinux context 標籤

要能對裝置節點下標籤,大部分一般磁碟會由某些應用程式所使用;這項更新提供了在由 udev 建立的裝置節點上套用 SELinux 標籤。系統管理者可以設定新的選項,為新建立的裝置下標籤。選項如下:
SECLABEL{selinux}="label"

新套件:libevdev

RHEL 6.8 已加入 libevdev 套件。這些套件包含的函式庫可以包裹 kernel evdev 裝置,並提供合適的 API 與這些裝置互動。

lpfc 驅動程式已更新

此次更新後,LPE31000、LPE32000 HBA 以及所有此架構的 HBA 類型可以偵測並啟用 Broadcom-ECD 認證的 SFP 與 QSFP 光纖裝置。韌體 11.0.204.0 以上的版本中,未驗證的光纖會被停用,網路線會顯示 link down 狀態,同時錯誤訊息會被紀錄到日誌檔中。
RHEL 6.8 的 lpfc 驅動程式會顯示以下訊息,且網路連線不會成功:
3176 Misconfigured Physical Port - Port Name [wwpn] Unknown event status [status]
建議使用者僅使用 Broadcom-ECD 認證的 SFP 與 QSFP 光纖裝置。如果您在日誌中看到 3176 訊息,且連線不成功,請聯絡 Broadcom-ECD 的技術支援人員。