Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第3章 カーネル

Red Hat Enterprise Linux 6.2 に同梱されているカーネルには、Linux カーネルに関する数百のバグ修正、拡張機能が含まれています。このリリースに関してカーネルに追加されたあらゆる修正済みのバグと拡張機能については、Red Hat Enterprise Linux 6.2 版テクニカルノート のカーネルの項を参照してください。
qla4xxx 検出とログインプロセスを管理するための open-iscsi の使用

Red Hat Enterprise Linux 6.2 以前は、qla4xxx アダプターファームウェアは iSCSI ターゲットへの検出とログインを管理していました。Red Hat Enterprise Linux 6.2 の新機能により、open-iscsi を使用して、qla4xxx 検出とログインプロセスを管理できます。これで、さらに一元的な管理プロセスが可能になります。

この新機能はデフォルトで有効です。qla4xxx iSCSI ファームウェアの設定は、以下のようにアクセスできます。
~]# iscsiadm -m fw
この機能は、モジュール ql4xdisablesysfsboot=1 のパラメーターを以下のように設定することで無効にできます。
  1. /etc/modprobe.d ファイルのパラメーターを設定します。
    ~]# echo "options qla4xxx ql4xdisablesysfsboot=1" >> /etc/modprobe.d/qla4xxx.conf
  2. qla4xxx モジュールをリロードします。その方法には 2 つあります。次のコマンドセットを実行するか
    ~]# rmmod qla4xxx
    ~]# modprobe qla4xxx
    qla4xxx デバイスからブートしている場合は、システムをリブートします。
qla4xxx デバイスからブートする場合、Red Hat Enterprise Linux 6.1 から Red Hat Enterprise Linux 6.2 へアップグレードすると、システムは新しいカーネルでブートできなくなります。これに関する既知の問題については、テクニカルノート を参照してください。
追加のファイルシステムにおける kexec kdump サポート

kdump (kexec ベースのクラッシュダンプの仕組み) は、次のような Red Hat Enterprise Linux 6 のファイルシステムでのコアダンプに対応するようになりました。

  • Btrfs (このファイルシステムはテクノロジープレビューです)
  • ext4
  • XFS (XFS はレイヤー製品であり、kexec kdump を有効にするにはインストールする必要があります)
coretemp にマージされた pkgtemp

pkgtemp モジュールは coretemp モジュールにマージされたため、pkgtemp モジュールは非推奨になりました。coretemp モジュールは、以前にサポートしていたすべての機能に加えて、pkgtemp モジュールによりサポートされていた機能にも対応するようになりました。

これまでは、coretemp はコアの温度ごとに提供し、pkgtemp モジュールは CPU パッケージの温度を提供していただけでした。Red Hat Enterprise Linux 6.2 では coretemp モジュールにより、コア (core)、非コア (uncore)、およびパッケージ (package) の温度を読み取ることが可能になりました。
こうしたいずれかのモジュールを使用して、スクリプトを調整することが推奨されます。
SCSI ドライバー queuecommand 機能のロックレスディスパッチ

Red Hat Enterprise Linux 6.2 では、SCSI midlayer はオプションの SCSI ドライバー queuecommand 機能のロックレスディスパッチをサポートしています。

これは、アップストリーム SCSI ロックのプッシュダウンコミットのバックポートです。このバックポートにより、Red Hat Enterprise Linux 6.0 および Red Hat Enterprise Linux 6.1 とのバイナリの互換性を保持します。バイナリの互換性を維持するためには、同等のアップストリーム SCSI ロックのプッシュダウンの仕組みから外れなければなりません。
SCSI ドライバーは、scsi_host_template 構造にあるこれまで使われていないフラグを使用して、SCSI ホストバスロックが有効にされることなくドライバー queuecommand がディスパッチされることを SCSI midlayer に示します。
デフォルト動作では、ドライバー queuecommand ディスパッチ中に Scsi_Host ロックは有効となります。scsi_host_alloc の前に scsi_host_template ロックレスビットを設定すると、Scsi_Host ロックが有効にされることなくドライバー queuecommand 機能がディスパッチされます。そのような場合、必要となるロック保護の責任はドライバー queuecommand コードパスに 引き下げ られます。
Red Hat Enterprise Linux 6.2 で、ロックレス queuecommand を使用するよう更新された SCSI Drivers は、以下のとおりです。
  • iscsi_iser
  • be2iscsi
  • bnx2fc
  • bnx2i
  • cxgb3i
  • cxgb4i
  • fcoe (ソフトウェア fcoe)
  • qla2xxx
  • qla4xxx
FCoE (ファイバーチャネルオーバーイーサネット) ターゲットモードに対するサポート

Red Hat Enterprise Linux 6.2 には、テクノロジープレビュー として FCoE ターゲットモードに対するサポートが含まれています。このカーネル機能は、targetadmin を使って設定でき、fcoe-target-utils パッケージにより提供されます。FCoE は、DCB (データセンターブリッジング) をサポートするネットワーク上で使用されるよう設計されています。詳細については、dcbtool(8)targetadmin(8) の man ページに記載されています。

重要

本機能は新しい SCSI ターゲットレイヤーを使用します。これがこのテクノロジープレビューに該当するため、FCoE ターゲットサポートと別々に使用しないことをお勧めします。このパッケージには、AGPL ライセンスが含まれます。
crashkernel=auto ブートパラメーターに対するサポート

Red Hat Enterprise Linux 6.1 では、BZ#605786 のとおり crashkernel=auto ブートパラメーターは非推奨でした。Red Hat Enterprise Linux 6.2 では、crashkernel=auto に対するサポートはすべての Red Hat Enterprise Linux 6 システムで継続されます。

ユーザースペースの MD RAID に対するサポート

mdadm および mdmon ユーティリティは、Array Auto-Rebuild、RAID Level Migrations、RAID 5 サポート制限、SAS-SATA ドライブローミングをサポートするよう更新されました。

フラッシュ要求のマージ

Red Hat Enterprise Linux 6.2 はフラッシュ要求のマージに対応して、フラッシュの実行が遅いデバイスをサポートします。

UV2 Hub サポート

Red Hat Enterprise Linux 6.2 では UV2 Hub サポートを追加しました。UV2 は UVhub チップで、現在の UV1 hub チップに取って代わるものです。UV2 は現在開発中の HARP ハブチップを使用します。UV2 は新しい Intel ソケットに対応します。UV2 の新機能によりパフォーマンスが向上します。UV2 は SSI の 64 TB メモリーに対応するよう設計されています。加えて、ノードコントローラー MMR も UV システム向けに更新されました。

acpi_rsdp ブートパラメーター

Red Hat Enterprise Linux 6.2 は、kdump が ACPI RSDP アドレスを渡すよう acpi_rsdp ブートパラメーターを導入したため、kdump カーネルは EFI (拡張ファームウェアインターフェース) なしにブートできます。

QETH ドライバーの改善

以下の拡張機能が、QETH ネットワークデバイスドライバーに追加されました。

  • af_iucv HiperSockets トランスポートに対するサポート
  • シグナルアダプターの強制表示のサポート
  • ストレージブロックの非同期配信に対するサポート
  • if_ether モジュールに新しいイーサネットプロトコル ID を追加
CPACF アルゴリズム

IBM zEnterprise 196 による、新しい CPACF (CP Assist for Cryptographic Function) アルゴリズムへのサポートが追加されました。アルゴリズムを加速する新しいハードウェアは以下のとおりです。

  • AES の CTR モード
  • DES および 3DES の CTR モード
  • キーの長さが 128 ビットと 256 ビットである AES の XTS モード
  • GCM モードの GHASH メッセージダイジェスト

Red Hat Enterprise Linux 6.2 は、pci=realloc カーネルパラメーターによる条件付きのリソース再配分に対応します。この機能は、回帰することなく追加で PCI リソースを動的に再配分するための一時的な解決策を提供します。デフォルトでは動的な再配分は無効ですが、pci=realloc カーネルコマンドラインパラメーターにより有効にできます。

PCI 改善

デフォルトでは、動的な再配分は無効です。pci=realloc カーネルコマンドラインパラメーターにより有効にできます。また、ブリッジリソースは PCI assign unassigned コールの広範囲を提供できるよう更新されました。

SMEP

Red Hat Enterprise Linux 6.2 は、カーネルの SMEP (Supervision Mode Execution Protection) を有効にします。SMEP は強制メカニズムを提供し、スーパーバイザーモードにある間にユーザーページから実行される予定がない要件をシステムが設定できるようにします。その後、この要件は CPU により強制されます。この機能により、システムコードの脆弱性に関係なく、CPU がスーパーバイザーモードにある間にユーザーモードページから実行されるすべての攻撃を防止することができます。

高速文字列の手順を強化

最新の Intel プラットフォーム用の強化された高速文字列 REP MOVSB/STORESB の手順に対するサポートが追加されました。

USB 3.0 xHCI

USB 3.0 xHCI ホスト側のドライバーが更新され、分割ハブサポートが追加されました。USB 3.0 roothub と USB 2.0 roothub を登録することで xHCI ホストコントローラーが外部 USB 3.0 ハブとして機能できます。

ACPI、APEI、EINJ パラメーターのサポート

ACPI、APEI、EINJ パラメーターのサポートはデフォルトでは無効です。

pstore

Red Hat Enterprise Linux 6.2 は、pstore — プラットフォーム依存の永続ストレージに対するファイルシステムインターフェースへのサポートを追加しました。

PCIe AER エラー情報の表示

printk ベースの APEI (ACPI Platform Error Interface) ハードウェアエラー報告に対するサポートが追加されました。様々なソースからのエラーを統合して、システムコンソールに送る方法を提供します。

ioatdma ドライバー

ioatdma ドライバー (dma エンジンドライバー) が、dma エンジンを使用する Intel プロセッサに対応するよう更新されました。

8250 PCI シリアルドライバー

Digi/IBM PCIe 2-port Async EIA-232 Adapter に対するサポートが、8250 PCI シリアルドライバーに追加されました。また、Digi/IBM PCIe 2-port Async EIA-232 Adapter の EEH (拡張エラー処理) サポートが、8250 PCI シリアルドライバーに追加されました。

ARI サポート

ARI (Alternative Routing- ID Interpretation) サポート、PCIe v2 機能が Red Hat Enterprise Linux 6.2 に追加されました。

PCIe OBFF

PCIe OBFF (Optimized Buffer Flush/Fill) 有効/無効サポートが、Intel の最新プラットフォーム向けに追加されました。OBFF は、割り込みとメモリーアクティビティ、それらの低下する可能性があるパワーの影響に関する情報をデバイスに提供して、最終的にはエネルギー効率を改善します。

NVRAM に oops/panic レポートをキャプチャ

Red Hat Enterprise Linux 6.2 では、カーネルは dmesg バッファーからカーネルの oops/panic レポートを PowerPC アーキテクチャの NVRAM にキャプチャするため有効です。

MXM ドライバー

MXM ドライバーは、NVIDIA プラットフォームでグラフィックススイッチングを処理する役割があり、Red Hat Enterprise Linux 6.2 にバックポートされました。

ページコアレッシング (page coalescing)

Red Hat Enterprise Linux 6.2 では、ページコアレッシングを導入しました。これは、IBM Power サーバーにある機能で、論理パーティション間で同一ページをコアレッシングできます。

L3 キャッシュパーティション分割

L3 キャッシュパーティション分割に対するサポートが、最新の AMD family CPU に追加されました。

thinkpad_acpi モジュール

thinkpad_acpi モジュールが更新され、新しい ThinkPad モデルが追加されました。

C-State サポート

最新の Intel processor C-State サポートが intel_idle に追加されました。

IOMMU 警告

Red Hat Enterprise Linux 6.2 は、AMD システムで IOMMU (I/O メモリー管理ユニット) に関する警告を表示します。

ブート時の dmesg へのログ

ブート時の dmesg へのボード、システム、BIOS 情報のログが追加されました。

IBM PowerPC サポート

cputable エントリがカーネルに追加され、最新 IBM PowerPC プロセッサファミリーに対応するようになりました。

VPHN

VPHN (Virtual Processor Home Node) 機能が IBM System p で無効になりました。

最新 Intel チップセット対応のドライバー

以下のドライバーは、最新の Intel チップセットでサポートされています。

  • i2c-i801 SMBus ドライバー
  • ahci AHCI モード SATA
  • ata_piix IDE モード SATA ドライバー
  • TCO Watchdog ドライバー
  • LPC Controller ドライバー
exec-shield

IBM PowerPC システムでは、sysctl または /proc/sys/kernel/exec-shield パラメーターの exec-shield 値は強制でなくなりました。

PPC64 の kdump

64-bit PowerPC および 64-bit IBM POWER Series システムの kdump をサポートするための確認と修正が追加で行われました。

UV MMTIMER モジュール

UV MMTIMER モジュール (uv_mmtimer) が SGI プラットフォームで有効になりました。uv_mmtimer モジュールにより、ユーザーランドがすべてのハブ全体に同期された UV システムのリアルタイムクロックに直接アクセスできます。

IB700 モジュール

IB700 モジュールへのサポートが Red Hat Enterprise Linux 6.2 に追加されました。

PCIe AER Mask Register をオーバーライド

aer_mask_override モジュールパラメーターが追加され、PCI デバイスに対する修正済みまたは未修正マスクをオーバーライドする方法を提供します。マスクは、ステータスに対応するビットが aer_inject() 機能に渡されるようにします。

PPC64 での USB 3.0 ホストコントローラーのサポート

USB 3.0 ホストコントローラーのサポートが、64-bit PowerPC および 64-bit IBM POWER Series システムに追加されました。

OOM killer の改善

改善されたアップストリームの OOM (Out of Memory) killer の実装が、Red Hat Enterprise Linux 6.2 にバックポートされました。改良点は以下のとおりです。

  • OOM killer は終了しようとしているプロセスの方を選択します。
  • OOM kill プロセスは、選択されたプロセスの子も kill します。
  • ヒューリスティックが追加され、forkbomb プロセスを kill します。
oom_score_adj /proc 調整可能なパラメーターは、各プロセスの oom_score_adj 変数に保管されている値を追加し、/proc で調整可能です。これにより、ユーザースペースで OOM killer がそれぞれのプロセスを選択する度合いを調整することができます。-1000 に設定すると OOM kill を全体的に無効にし、+1000 に設定するとこのプロセスを OOM のプライマリ kill ターゲットとしてマークすることになります。
新しい実装に関する詳細については、http://lwn.net/Articles/391222/ を参照してください。
zram ドライバー

Red Hat Enterprise Linux 6.2 には更新された zram ドライバーが備わっています (汎用 RAM ベースの圧縮ブロックデバイスを作成)。

taskstat ユーティリティ

Red Hat Enterprise Linux 6.2 では、top ユーティリティが使用するマイクロ秒の粒度で CPU 時間を提供することによって、カーネルの taskstat ユーティリティ (ASET タスクステータスを表示) が強化されました。

perf ユーティリティ

Red Hat Enterprise Linux 6.2 は、バージョン 3.1 へのカーネルアップグレードと併せて perf ユーティリティをアップストリームバージョン 3.1 に更新しました。perf ユーティリティにより提供された新しくサポートされるカーネル機能については、BZ#725524 を参照してください。perf ユーティリティの更新版には、以下が含まれます。

  • cgroup サポートを追加
  • /proc/sys/kernel/kptr_restrict の処理の追加
  • キャッシュミス比率の表示の追加
  • CPU イベントを表示するための -d -d および -d -d -d オプションの追加
  • --sync/-S オプションの追加
  • PERF_TYPE_RAW パラメーターに対するサポートの追加
  • -f/--fields オプションに関するドキュメントの追加
  • python binding サポートへの python-perf パッケージの追加
OProfile サポート

Red Hat Enterprise Linux 6.2 は最新 Intel プロセッサに対する OProfile サポートを追加します。

IRQ カウンティング

IRQ (割り込み要求) の数は すべての irq の合計 (sum of all irq) カウンターでカウントされており、/proc/stat ファイルのルックアップコストを削減します。

スケジューリングの改善

Red Hat Enterprise Linux 6.2 では、スリープおよびプリエンプトパスの次の buddy ヒントについてスケジューラにヒントが提供されるようスケジューリングを改善しました。このヒント/拡張機能は、複数のタスクグループにある複数タスクのワークロードに役立ちます。

Transparent Hugepage の改善

Red Hat Enterprise Linux 6.2 では、Transparent Hugepage がカーネルの数箇所でサポートされるようになりました。

  • mremapmincoremprotect のシステムコール
  • /proc の調整可能なパラメーターである、/proc/<pid>/smaps/proc/vmstat
加えて、Transparent Hugepage はコンパクションを改良しました。
XTS AES256 self-tests

Red Hat Enterprise Linux 6.2 は、FIPS-140 要件に適合するよう XTS (XEX ベースの Tweaked CodeBook) AES256 self-tests を追加しました。

SELinux netfilter パケットドロップ

以前は、SELinux netfilter フックがパケットをドロップすると NF_DROP を返していました。Red Hat Enterprise Linux 6.2 では、netfilter フックのドロップは永続かつ致命的なエラーとして示され、一時的なものではありません。そうすることでエラーはスタックにまで戻され、一部ではアプリケーションは問題があった迅速な対話を可能にします。

LSM フック

Red Hat Enterprise Linux 6.2 では、再マウントのマウントオプション (mount -o remount) は新しい LSM フックに渡されます。

UEFI システムのデフォルトモード

Red Hat Enterprise Linux 6.0 および 6.1 では、物理アドレスモードで実行中の UEFI システムにデフォルト設定されていました。Red Hat Enterprise Linux 6.2 では、仮想アドレスモードで実行中の UEFI システムにデフォルト設定されています。以前の動作は、physefi カーネルパラメーターを渡すことで取得できる場合があります。

SSH 経由で kdump を使用するデフォルトの方法

Red Hat Enterprise Linux 6 では、SSH 経由でコアを kdump するためのデフォルトの方法 core_collector が、scp から makedumpfile に変更しました。これは、ネットワークリンクでコピーする場合にコアファイルのサイズを縮小するのに役立ち、高速なコピーが可能になります。

旧のフルサイズの vmcore コアファイルが必要な場合は、 /etc/kdump.conf ファイルで以下を指定します。
core_collector /usr/bin/scp