第12章 カーネル
protobuf-c パッケージが IBM Power Systems アーキテクチャーのリトルエンディアンバリアントで利用可能になりました。
今回の更新で、IBM Power Systems アーキテクチャーのリトルエンディアンバリアントに protobuf-c パッケージが追加されました。protobuf-c パッケージは、Google の Protocol Buffer の C バインディングを提供し、上記のアーキテクチャーの criu パッケージの前提条件です。criu パッケージは、CRIU (Checkpoint/Restore in User space)機能を提供します。これにより、プロセスのグループまたはプロセスのグループをチェックポイントおよび復元できます。(BZ#1289666)
CAN プロトコルがカーネルで有効になっている。
CAN (Controller Area Network)プロトコルカーネルモジュールが有効になり、CAN デバイスドライバーのデバイスインターフェイスが提供されています。CAN は元々自動車バス仕様で、自動車体系でさまざまなマイクロコントローラーを接続することを目的としており、他の領域に拡張しました。CAN は、高性能インターフェイスが必要で、RS-485 などの他のインターフェイスでは不十分である industrial および machine コントロールでも使用されます。CAN プロトコルモジュールからエクスポートされた関数は、CAN デバイスドライバーによって使用され、カーネルがデバイスを認識し、アプリケーションがデータを接続および転送できるようにします。カーネルで CAN を有効にすると、サードパーティーの CAN ドライバーおよびアプリケーションを使用して CAN ベースのシステムを実装できます。(BZ#1311631)
kexec-tools
への永続メモリーサポートの追加
Linux カーネルは、NVDIMM (Non-Volatile Dual In-line Memory Module)メモリーデバイスの E820_PRAM および E820_PMEM タイプに対応するようになりました。アップストリームからパッチがバックポートされ、
kexec-tools
がこれらのメモリーデバイスもサポートするようになりました。(BZ#1282554)
libndctl
- ユーザー空間 nvdimm
管理ライブラリー
libndctl
ユーザー空間ライブラリーが追加されました。これは、カーネル libnvdimm
サブシステムによって提供される ioctl
および sysfs
エントリーポイントへの C インターフェイスのコレクションです。ライブラリーは、NVDIMM 対応プラットフォームの高レベルの管理ソフトウェアを有効にし、NVDIMM を管理するためのコマンドラインインターフェイスも提供します。(BZ#1271425)
hpvsa ドライバーおよび hpdsa ドライバーをサポートする kABI ホワイトリストの新しいシンボル
今回の更新で、カーネル Application Binary Interface (kABI)ホワイトリストに一連のシンボルが追加され、hpvsa ドライバーおよび hpdsa ドライバーがサポートされるようになりました。
新たに追加されたシンボルは以下のとおりです。
- scsi_add_device
- scsi_adjust_queue_depth
- scsi_cmd_get_serial
- scsi_dma_map
- scsi_dma_unmap
- scsi_scan_host (BZ#1274471)
crash がバージョン 7.1.5 にリベース
crash パッケージがアップストリームバージョン 7.1.5 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。注目すべきは、このリベースにより、s の
dis -s
、di-f、sys -i
、list -l
、64 ビット ARM アーキテクチャーで生成される Quick Emulator (QEMU)が生成した Executable および Linkable Format (ELF) vmcore の新しいサポート、および最新のアップストリームカーネルのサポートに必要な更新が複数追加されまし
た。個別のパッチをバックポートするよりも、クラッシュ
パッケージをリベースするより安全かつ効率的です。(BZ#1292566)
新しいパッケージ: crash-ptdump-command
crash-ptdump-command は、crash ユーティリティーに ptdump サブコマンドを追加するためのクラッシュ拡張モジュールを提供する新しい rpm パッケージです。ptdump サブコマンドは、Intel プロセッサートレース機能によって生成されたログバッファーを vmcore ファイルから取得およびデコードし、ファイルに出力します。この新しいパッケージは、EM64T および AMD64 アーキテクチャー向けに設計されています。(BZ#1298172)
アンビエント機能がサポートされるようになりました
機能は、従来スーパーユーザー権限に関連付けられた権限を複数の個別のユニットに分割するために Linux カーネルによって使用されるスレッドごとの属性です。今回の更新で、カーネルへのアンビエント機能のサポートが追加されました。アンビエント機能は、
execve ()
システムコールを使用してプログラムを実行する場合に保持される一連の機能です。許可および継承可能な機能のみがアンビエントできます。prctl ()
呼び出しを使用して、アンビエント機能を変更できます。一般的なカーネル機能の詳細は capabilities (7)
man ページと、prctl
呼び出しの詳細は prctl (2
) man ページを参照してください。(BZ#1165316)
CPUID が
利用可能に
今回の更新で、Red Hat Enterprise Linux で
cpuid
ユーティリティーが利用できるようになりました。このユーティリティーは、CPUID 命令から収集された CPU に関する詳細情報をダンプし、CPU の正確なモデルも決定します。Intel、AMD、および VIA CPU をサポートします。(BZ#1307043)
FC-FCoE シンボルが KABI ホワイトリストに追加されました。
今回の更新で、
libfc
および libfcoe
カーネルモジュールに属するシンボルの一覧が、カーネル Application Binary Interface (KABI)ホワイトリストに追加されました。これにより、libfc
および libfcoe
に依存する Fibre Channel over Ethernet (FCoE)ドライバーが、新たに追加されたシンボルを安全に使用できるようになりました。(BZ#1232050)
新しいパッケージ:OpenPower システム用の opal-prd
新しい opal-prd パッケージには、ハードウェア固有のリカバリープロセスを処理するデーモンが含まれており、起動後にバックグラウンドのシステムプロセスとして実行する必要があります。OPAL ファームウェアと対話してハードウェアエラーの原因を取得し、管理プロセッサーにログイベントを取得し、必要に応じて回復可能なエラーを処理します。(BZ#1224121)
新規パッケージ: libcxl
新しい libcxl パッケージには、カーネル
cxl
関数を介して CAPI ハードウェアにアクセスするためのユーザー空間のアプリケーション用のユーザー空間ライブラリーが含まれています。IBM Power Systems および IBM Power Systems アーキテクチャーのリトルエンディアンバリアントで利用できます。(BZ#1305080)
新たに追加された iproute コマンドのカーネルサポート
今回の更新で、新たに追加された iproute コマンドの正しい機能を確保するために、カーネルサポートが追加されました。提供されるパッチセットには以下が含まれます。
- IPsec インターフェイスの拡張機能。接頭辞のポリシーをハッシュ化できます。
- 事前盗まれたしきい値に基づいてハッシュの接頭辞が付けられたポリシーを追加します。
- netlink によるポリシーハッシュテーブルしきい値の設定。(BZ#1222936)
PID
cgroup コントローラーのバックポート
今回の更新で、新しい Process Identifier (PID)コントローラーが追加されました。このコントローラーは cgroup ごとのプロセスに対応し、cgroup 階層が特定の制限に達した後に新規タスクをフォークしたり、クローンしたりできないようにすることができます。(BZ#1265339)
mpt2sas および mpt3sas がマージ
mpt2sas
ドライバーおよび mpt3sas
ドライバーのソースコードがマージされました。アップストリームとは異なり、Red Hat Enterprise Linux 7 は互換性のために 2 つのバイナリードライバーを維持します。(BZ#1262031)
ksc で複数の .ko ファイルを指定できるようにします。
以前は、ksc ユーティリティーの 1 回の実行に複数の .ko ファイルを追加できませんでした。したがって、複数のカーネルモジュールを含むドライバーは、1 回の実行で ksc に渡されませんでした。今回の更新により、-k オプションが同じ実行で複数回指定できるようになりました。したがって、ksc の 1 回の実行を使用して、複数のカーネルモジュールが使用するシンボルをクエリーできます。これにより、すべてのモジュールで使用されるシンボルを含む 1 つのファイルが生成されます。(BZ#906659)
dracut
update
dracut
initramfs ジェネレーターは、以前のバージョンに比べて多くのバグ修正と機能拡張で更新されました。以下に例を示します。
dracut
が新しいカーネルコマンドラインオプション rd.emergency=[reboot|poweroff|halt] を取得しました。これは、重大な障害が発生した場合に実行するアクションを指定します。rd.emergency=[reboot|poweroff|halt] を使用する場合は、rd.shell=0 オプションも指定する必要があります。- reboot コマンド、poweroff コマンド、および halt コマンドが
dracut
の緊急シェルで動作するようになりました。 dracut
がカーネルコマンドラインで複数のボンディング、ブリッジ、および VLAN 設定をサポートするようになりました。- デバイスタイムアウトは、rd.device.timeout=<seconds> オプションを使用してカーネルコマンドラインで指定できる ようになりました。
- カーネルコマンドラインで指定された DNS ネームサーバーが DHCP で使用されるようになりました。
dracut
が 20 バイトの MAC アドレスをサポートするようになりました。- Maximum Transmission Unit (MTU)および MAC アドレスが DHCP および IPv6 Stateless Address AutoConfiguration (SLAAC)に対して正しく設定されるようになりました。
- ip= カーネルコマンドラインオプションが括弧内の MAC アドレスに対応するようになりました。
dracut
が NFS over RDMA (NFSoRDMA)モジュールに対応するようになりました。kdump
のサポートが Fibre Channel over Ethernet (FCoE)デバイスに追加されました。FCoE デバイスの設定は、kdump initramfs
でコンパイルされます。カーネルクラッシュダンプを FCoE デバイスに保存できるようになりました。dracut
が --install-optional <file list > オプションと install_optional_items+= <file>[ <file> ...] 設定ファイル ディレクティブをサポートするようになりました。新しいオプションまたはディレクティブを使用する場合は、ファイルが存在する場合はインストールされ、存在しない場合はエラーが返されません。
Wacom Cintiq 27 QHD のサポート
Wacom Cintiq 27 QHD タブレットが Red Hat Enterprise Linux 7 でサポートされるようになりました。(BZ#1342989)
Intel® Omni-Path Architecture (OPA)カーネルドライバーの完全サポート
以前はテクノロジープレビューとして利用できた Intel® Omni-Path Architecture (OPA)カーネルドライバーが完全にサポートされるようになりました。Intel® OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送(高帯域幅、高メッセージレート、低レイテンシー)のために、初期化とセットアップを備えた Host Fabric Interconnect (HFI)ハードウェアを提供します。
Intel® Omni-Path Architecture のドキュメントを取得する方法については、https://access.redhat.com/articles/2039623 を参照してください。(BZ#1374826)
root 以外のユーザーが利用できる Cyclitest --smi オプション
今回の更新で、ユーザーが リアルタイム グループに属する場合、root 以外のユーザーとして --smi オプションを指定して cyclictest プログラムを使用できるようになりました。システム管理割り込み(SMI)をサポートするプロセッサーでは、--smi は、以前は root ユーザーでのみ利用できたシステムの SMI に関するレポートを表示します。(BZ#1346771)
新しい Smart Array ストレージアダプターのサポートを追加
Red Hat Enterprise Linux 7.2 以前のバージョンでは、新しい Smart Array ストレージアダプターが正式にサポートされていません。ただし、これらのアダプターは
aacraid
ドライバーによって検出され、システムが正しく機能するように表示されました。今回の更新で、新しい Smartpqi ドライバーで、新しい Smart Array ストレージアダプター が
適切にサポートされるようになりました。更新すると、これらのアダプターのドライバー名が変更されることに注意してください。(BZ#1273115)
Linux カーネルが、信頼済み Virtual Function (VF)の概念に対応
アップストリームのコードは Linux カーネルにバックポートされ、信頼できる Virtual Function (VF)の概念のサポートを提供します。その結果、信頼できる VF はマルチキャストプロミスキャスモードを有効化できるようになりました。これにより、30 を超える IPv6 アドレスを割り当てることができます。信頼できる VF は、メディアアクセス制御(MAC)アドレスを上書きすることもできます。(BZ#1302101)
seccomp モード 2 が IBM Power Systems でサポートされるようになりました。
今回の更新で、IBM Power Systems で seccomp モード 2 のサポートが追加されました。seccomp モード 2 には、システムコールのフィルターリングを定義する Berkeley Packet Filter (BPF)設定ファイルの解析が含まれます。このモードは、IBM Power Systems 上の Linux でのコンテナー導入に欠かせない主なセキュリティー機能強化を提供します。(BZ#1186835)
メモリー帯域幅の監視が追加されました。
今回の更新で、Linux カーネルにメモリー帯域幅の監視(MBM)が追加されました。MBM は、特定のタスクまたはリソース監視 ID (RMID)に関連するタスクのメモリー帯域幅の使用状況を追跡するために使用されるプラットフォーム Quality of Service (QoS)機能ファミリーに含まれる CPU 機能です。(BZ#1084618)
brcmfmac
が Broadcom ワイヤレスカードに対応
brcmfmac
カーネルドライバーが更新され、Broadcom BCM4350 および BCM43602 ワイヤレスカードに対応するようになりました。(BZ#1298446)
autojoin オプションが ip addr コマンドに追加され、マルチキャストグループの結合または離脱を許可するようになりました。
以前は、マルチキャストプルーニングを実行するイーサネットスイッチに Internet Group Management Protocol (IGMP)メンバーシップを示す方法はありませんでした。そのため、これらのスイッチはホストのポートにパケットを複製しませんでした。今回の更新で、ip addr コマンドが autojoin オプションを指定して拡張されました。これにより、ホストがマルチキャストグループに参加したり、離脱したりできるようになりました。(BZ#1267398)
Open vSwitch が NAT をサポート
今回の更新で、Open vSwitch カーネルモジュールにネットワークアドレス変換(NAT)サポートが追加されました。(BZ#1297465)
ページテーブルが並行して初期化されるようになりました。
以前は、Intel EM64T、Intel 64、および AMD64 アーキテクチャーをベースとした NUMA (Non-Uniform Memory Access)システムで、ページテーブルが順次に初期化されていました。その結果、起動時に大きなサーバーのパフォーマンスが遅くなる可能性があります。今回の更新により、一連のパッチがバックポートされ、ノードのアクティブ化の一環として、ノードローカル CPU によってメモリーの初期化が並行して行われるようになりました。その結果、メモリーが 16TB から 32TB のシステムは、以前のバージョンと比較して 2 倍速く起動するようになりました。(BZ#727269)
Linux カーネルが Intel MPX に対応
今回の更新で、Intel Memory Protection Extensions (MPX)のサポートが Linux カーネルに追加されました。Intel MPX は、Intel 64 アーキテクチャーの拡張セットです。Intel MPX とコンパイラー、ランタイムライブラリー、およびオペレーティングシステムのサポートにより、コンパイル時の通常の意図がバッファーオーバーフローが原因で悪用される可能性があるポインターの参照をチェックすることにより、ソフトウェアの堅牢性とセキュリティーが向上します。(BZ#1138650)
ftrace
がコマンド名を予想通りに出力するようになりました。
trylock ()関数がロックを正常に取得しなかった場合、
ftrace
カーネルトレーサーへのコマンド名の保存に失敗していました。そのため、ftrace
は /sys/kernel/debug/tracing
ファイルにコマンド名を正しく出力しませんでした。今回の更新で、コマンド名の録画が修正され、ftrace
がコマンド名を予想通りに出力するようになりました。ユーザーは、saved_cmdlines_size
カーネル設定パラメーターを設定することで、保存されたコマンドの数を設定できるようになりました。(BZ#1117093)
スワップアウトされた共有メモリーが /proc/<pid>/smaps に表示されるように
なりました。
今回の更新以前は、スワップアウトした共有メモリーは、/proc/<pid>/status ファイルや /proc/<pid>/smaps ファイルには表示されませんでした。今回の更新で、
sysV shm
、共有匿名マッピング、tmpfs
ファイルへのマッピングなど、スワップアウトした共有メモリーのプロセスごとのアカウンティングが追加されました。swapped-out 共有メモリーが /proc/<pid>/smaps に
表示されるようになりました。ただし、スワップアウトした共有メモリーは /proc/<pid>/status
に反映されず、swapped-out shmem
ページは、procps
などの特定のツールでは表示されません。(BZ#838926)
カーネル UEFI サポートの更新
カーネルの Unified Extensible Firmware Interface (UEFI)のサポートが、アップストリームカーネルから選択したパッチのセットで更新されました。このセットでは、以前のバージョンに比べて多くのバグ修正と機能拡張が提供されています。(BZ#1310154)
マウスコントローラーが Secure Boot を使用するゲストで動作するようになりました。
Red Hat Enterprise Linux は、セキュアブート機能が有効になっているゲスト仮想マシンでマウスコントローラーをサポートするようになりました。これにより、デフォルトでセキュアブートを有効にするハイパーバイザーで実行している Red Hat Enterprise Linux ゲストのマウス機能が確保されます。(BZ#1331578)
RealTek RTS520 カードリーダーがサポートされるようになりました。
今回の更新で、RealTek RTS520 カードリーダーのサポートが追加されました。(BZ#1280133)
トンネルデバイスがロックレス xmit
に対応
以前のバージョンでは、デフォルトで
pfifo_fast
キュー間隔を使用するトンネルデバイスは、tx
パスのシリアル化ロックが必要でした。今回の更新により、CPU ごとの変数が統計アカウンティングに使用され、tx
パスのシリアル化ロックは必要ありません。その結果、ユーザー空間は xmit
パスでロックを必要としない noqueue
キューイングラインを設定できるようになりました。これにより、トンネルデバイスの xmit
パフォーマンスが大幅に改善されました。(BZ#1328874)
Chelsio ドライバーの更新
Chelsio NIC、iWARP、vNIC、および iSCSI ドライバーが最新バージョンに更新され、以前のバージョンにバグ修正や機能強化が複数追加されました。
以下は、主な変更点です。
- アダプター統計を取得するための
ethtool
サポート - チャンネル統計をダンプするための
ethtool
サポート - ループバックポートの統計をダンプするための
ethtool
- CIM MA ロジックアナライザーログをダンプするための
debugfs
エントリー - CIM PIF ロジックアナライザーの内容をダンプするための
debugfs
エントリー - チャンネルレートをダンプする
debugfs
エントリー - バックドアアクセスを有効にする
debugfs
エントリー - meminfo をダンプするための
debugfs
サポート - MPS トレースサポート
- RX のハードウェアタイムスタンプのサポート
- T6 アダプターのデバイス ID (BZ#1275829)
Chelsio ドライバーの 25G、50G、および 100G 速度モードのサポート
今回の更新で、Chelsio ドライバーの 25G、50G、および 100G 速度モードの定義を追加する Linux カーネルにパッチのセットがバックポートされました。また、このパッチセットにより、リンクモードマスク API が
cxgb4
および cxgb4vf
ドライバーに追加されます。(BZ#1365689)
mlx5
が NFSoRDMA に対応
今回の更新で、
mlx5
ドライバーが、Remote Direct Memory Access (NFSoRDMA)でのネットワークファイルシステムのエクスポートに対応するようになりました。これにより、RDMA 経由で NFS 共有をマウントし、クライアントコンピューターから次のアクションを実行できるようになりました。
- ls コマンドを使用して、NFS 共有上のファイルを一覧表示します。
- 新しいファイルでの touch コマンドの使用
この機能により、共有ストレージから一部のジョブを実行できます。これは、サイズを拡大し続ける大規模な InfiniBand 接続済みのグリッドが実行されている場合に役立ちます。(BZ#1262728)
I2C が第 6 世代 Intel Core プロセッサーで有効になっている
この更新以降、カーネルドライバーが制御する I2C デバイスは、第 6 世代 Intel Core プロセッサーでサポートされています。(BZ#1331018)
mlx4
および mlx5
が RoCE をサポート
今回の更新で、RoCE (Remote Direct Memory Access Over Converged Ethernet)ネットワークプロトコルのタイムスパンのサポートが
mlx4
ドライバーおよび mlx5
ドライバーに追加されました。RoCE は、レスイーサネットネットワークが非常に低レイテンシーで、RDMA (Remote Direct Memory Access)を介して効率的なサーバー間のデータ転送を提供するメカニズムです。RoCE は、RoCEv1 - dedicated ether type (0x8915)- RoCEv2 - User Datagram Protocol (UDP)および専用の UDP ポート(4791)の 2 つのイーサネットパケットのいずれかで InfiniBand (IB)トランスポートをカプセル化します。
RoCE バージョンの両方が
mlx4
および mlx5
でサポートされるようになりました。今回の更新で、mlx4
は RoCE Virtual Function Link Aggregation プロトコルをサポートしており、フェイルオーバーおよびリンクアグリゲーション機能を mlx4
デバイスの物理ポートに提供します。2 つの物理ポートを表す IB ポートのみがアプリケーション層に公開されます。(BZ#1275423、BZ#1275187、BZ#1275209) (BZ#1275423)
チャネル間の同期のサポート
この更新以降、Linux カーネルは、AMD64 および Intel 64、IBM Power Systems、および 64 ビット ARM アーキテクチャーでのチャネル間の同期をサポートします。デバイスには、ホストソフトウェアからの介入なしに、異なるワークキューでの I/O 操作の実行を同期またはシリアライズできるようになりました。(BZ#1275711)
SGI UV4 のサポートが Linux カーネルに追加されました。
この更新以降、Linux カーネルは SGI UV4 プラットフォームをサポートします。(BZ#1276458)
TPM 2.0 のサポートを更新しました。
バージョン 2.0 の Trusted Platform Module (TPM)のサポートが Linux カーネルで更新されました。(BZ#1273499)
RAM 12 TB のサポート
今回の更新で、カーネルは 12 TB の RAM に対応することが認定されています。この新機能は、メモリー技術における進捗事項に対応し、Red Hat Enterprise Linux 7 のライフサイクル期間中にリリースされる将来のサーバーの技術的要件を満たすことができます。この機能は、AMD64 および Intel 64 のアーキテクチャーで利用できます。(BZ#797488)
RDMA の 10GbE RoCE Express 機能の完全サポート
Red Hat Enterprise Linux 7.3 では、10GbE RDMA over Converged Ethernet (RoCE) Express 機能が完全にサポートされるようになりました。これにより、IBM z Systems で、RDMA (Ethernet and Remote Direct Memory Access) API、DAPL (Direct Access Programming Library)および OpenFabrics Enterprise Distribution (OFED) API を使用できます。
IBM z13 システムでこの機能を使用する前に、最低限必要なサービス(z/VM APAR UM34525 および HW ycode N98778.057)が適用されていることを確認してください。(BZ#1289933)
IBM z Systems で完全にサポートされる zEDC 圧縮
Red Hat Enterprise Linux 7.3 以降では、Generic Workqueue (GenWQE)エンジンデバイスドライバーを完全にサポートします。ドライバーの初期タスクは、zlib スタイルの圧縮を実行し、RFC1950、RFC1951、および RFC1952 形式の展開を実行しますが、他のさまざまなタスクを加速するために調整できます。(BZ#1289929)
IBM z Systems の LPAR Watchdog
IBM z Systems の拡張ウォッチドッグドライバーが完全にサポートされるようになりました。このドライバーは、Linux 論理パーティション(LPAR)および z/VM ハイパーバイザーの Linux ゲストに対応し、Linux システムが応答しなくなった場合に自動再起動および自動ダンプ機能を提供します。(BZ#1278794)