第4章 外部カーネルパラメーターへの重要な変更
この章では、システム管理者向けに、Red Hat Enterprise Linux 10.1 で配布されるカーネルの重要な変更点の概要を説明します。これらの変更には、たとえば、追加または更新された proc entries、sysctl、sysfs のデフォルト値、ブートパラメーター、カーネル設定オプション、または主な動作の変更などが含まれます。
新しいカーネルパラメーター
indirect_target_selection=
[X86、Intel] Intel CPU における Indirect Target Selection (ITS) 問題に対する緩和策を制御します。IBPB の修正にはマイクロコードの更新が必要です。
値:
on(デフォルト)- 緩和策を有効にします。
off- 緩和策を無効にします。
force- ITS のバグが存在する状態を強制的に適用し、デフォルトの緩和策をデプロイします。
vmexit- ゲスト/ホスト間の分離のためだけに緩和策をデプロイします。
stuff- retpoline がデプロイされている場合は RSB-fill を使用します。それ以外の場合はデフォルトの緩和策を使用します。
Documentation/admin-guide/hw-vuln/indirect-target-selection.rst を参照してください。
sdw_mclk_divider=
[SDW、Intel] BIOS がクロックレートを適切に提供しない場合に、Intel SoundWire バスの MCLK 分周器を指定します。
thp_shmem=
[KNL、MM] 内部の shmem マウントのサイズごとにデフォルトの huge page ポリシーを制御します。
形式:
<size>[KMG]<size>[KMG]:<policy>;<size>[KMG]-<size>[KMG]:<policy>
ポリシー: always、inherit、never、within_size、advise。
これを複数回指定すると、複数の THP サイズに対して複数のポリシーを設定できます。Documentation/admin-guide/mm/transhuge.rst を参照してください。
transparent_hugepage_shmem=
[KNL、MM] 内部の shmem マウントの huge page 割り当てポリシーを制御します。
値: always、within_size、advise、never、deny、force。Documentation/admin-guide/mm/transhuge.rst を参照してください。
tsa=
[X86、AMD] AMD CPU に対する Transient Scheduler Attacks の緩和策を制御します。
値:
off- 緩和策を無効にします。
on(デフォルト)- 緩和策を有効にします。
user- ユーザー/カーネル間の遷移にのみ緩和策を適用します。
vm- ゲスト/ホスト間の遷移にのみ緩和策を適用します。
ガイダンスについては、Transient Scheduler Attacks に関するベンダーのドキュメントを参照してください。
更新されたカーネルパラメーター
init=
[KNL] 形式: <full_path> システムの init プロセスとして、/sbin/init の代わりに、指定のバイナリーを実行します。
intremap=
[X86-64、Intel-IOMMU、EARLY]
値:
on- 割り込み再のマッピングを有効にします (デフォルト)。
off- 割り込みの再マッピングを無効にします。
kvm-arm.mode=
[KVM、ARM、EARLY] Arm KVM 仮想化モードを選択します。
値:
nvhe- ゲスト保護機能のない標準的な nVHE ベースのモード。
protected-
ハードウェアのサポート状況に応じて VHE または nVHE を使用し、ホストから隠蔽された状態を持つゲストをサポートします。ホスト上の kexec とハイバネートを無効にします。VHE ハードウェアで nVHE を強制するには、コマンドラインに
arm64_sw.hvhe=0 id_aa64mmfr1.vh=0を追加してください。 nested- ネステッド仮想化を備えた VHE ベースのモード。Armv8.4 ハードウェア (FEAT_NV2) が必要です。実験的機能のため、細心の注意を払って使用してください。ハードウェアのサポート状況に応じて、デフォルトで VHE または nVHE に設定されます。
kvm-arm.vgic_v3_group0_trap=
[KVM、ARM、EARLY] より厳格な分離とデバッグのために、ゲストによる GICv3 グループ 0 レジスターへのアクセスをホスト側で捕捉します。
libata.force=
[SATA/ATA] ポートごとのオプション:
- 新機能:
external -
ポートを外部 (ホットプラグ対応) とマークします。その他のオプションも引き続き使用できます (例:
max_sec_lba48、[no]lpm、[no]setxfer)。
nohz
[KNL] 単一のタスクの実行時にティックを無効にし、RCU コールバックなどの他のカーネル処理をオフロードします。nohz_full と同等です。残りの 1 Hz のティックは、ワークキューにオフロードされます。このワークキューは、グローバルワークキュー CPU マスクによって、ハウスキーピング用の CPU に割り当ててください。rcu_nocbs= および isolcpus= も参照してください。
pci=
[PCI] ACS の設定例が、デバイスセレクターを含むように更新されました (pci=config_acs=10x@pci:0:0):: 指定されたデバイスパスに沿って、P2P Request Redirect を有効にし、Translation Blocking を無効にし、Source Validation を変更しないように設定します。
pcie=
[PCIE] 新しいシステム全体のフラグ: notph:: CONFIG_PCIE_TPH が有効な場合に、PCIe TLP Processing Hints のサポートを無効にします。
pcie_aspm=
[PCIE] PCIe Active State Power Management を強制的に有効化または無視します。動作は変更されません。必要に応じて pcie= フラグと一緒に使用してください。
preempt=
[KNL、Scheduler] プリエンプション制御モード。新機能: lazy:: full に似たスケジューラー制御モード。スケジューラーが強制的にプリエンプションを実行する前に、処理を譲るための 1 HZ ティック分の時間がタスクに与えられます。タスクがユーザー空間に戻った時点で、プリエンプションが 1 回発生したとカウントされます。
print-fatal-signals=
[KNL] 致命的なシグナルのデバッグ出力を有効にします。
skew_tick=
[KNL、EARLY] 大規模システムや CONFIG_MAXSMP が有効なシステムでの競合を減らすために、CPU ごとの定期的なタイマーティックのタイミングをずらします。
slub_debug=
[MM] SLUB アロケーターのデバッグ。slub_nomerge はレガシーエイリアスとして残されています。Documentation/mm/slub.rst を参照してください。
spectre_v2=
[X86] 特定の緩和策を選択しても、ユーザー空間の緩和策が強制的に有効になるわけではありません。on 選択すると、カーネル保護が有効になり、ユーザータスク間攻撃が軽減されます。off を選択すると、両方とも無効になります。
tsc=
[X86] TSC のクロックソース安定性チェックを無効にします。
値:
reliable- TSC クロックソースを信頼できるものとしてマークします。
noirqtime- IRQ アカウンティングに TSC を使用しません。
unstable- TSC クロックソースを不安定としてマークします。
nowatchdog- クロックソースウォッチドッグを無効にします。
recalibrate- TSC 周波数が MSR または CPUID(0x15) から取得されたものである場合、HPET または PM タイマーを基準に再較正します。基準との差が 500 ppm を超える場合は、警告が出力されます。
watchdog- TSC が信頼できるシステムで、TSC をウォッチドッグ用のクロックソースとして使用します。
注記: tsc=nowatchdog が先に指定された場合、watchdog は抑制されます。tsc=nowatchdog が後から指定された場合、watchdog はオーバーライドされます。カーネルは抑制またはオーバーライドが発生したことをログに記録します。
transparent_hugepage_shmem=
[KNL、MM] 値: always、within_size、advise、never、deny、force。内部の shmem マウントポリシーを制御します。Documentation/admin-guide/mm/transhuge.rst を参照してください。
mitigations=
[Multi‑arch] off を選択すると、カーネルおよびユーザー空間の一連の緩和策が無効になります。mitigations=off と同等の意味を持つリストに、既存のエントリー (Arm64 の kpti=0、gather_data_sampling=off、kvm.nx_huge_pages=off、l1tf=off、mds=off、および関連する X86 フラグなど) に加えて、X86 の indirect_target_selection=off が追加されました。
sysctl パラメーターの更新
timer_migration
ゼロ以外の値に設定すると、アイドル状態の CPU が低電力状態をより長時間維持できるように、カーネルがアイドル状態の CPU からタイマーを移行することを試みます。
デフォルト: 1 (有効)。