5.2.2. 更新されたカーネルパラメーター

intel_iommu = [DMAR]

Intel IOMMU ドライバー Direct Memory Access Remapping (DMAR)。

オプションは次のとおりです。

  • sm_on [デフォルトではオフ] - デフォルトで、ハードウェアがスケーラブルモードのトランザクションに対応していると通知する場合に、スケーラブルモードが無効になります。このオプションが設定されていると、スケーラブルモードは、これをサポートすると主張するハードウェアで使用されます。
isolcpus = [KNL,SMP,ISOL]

このパラメーターは、特定のセットの CPU を阻害から分離します。

  • managed_irq - 分離された CPU が、管理割り込みによって対象とならないようにするサブパラメーター。これには、分離された CPU を含む割り込みマスクがあります。管理された割り込みのアフィニティーはカーネルが処理し、/proc/irq/* インターフェース経由で変更することはできません。

    この分離はベストエフォートであり、デバイスキューに自動的に割り当てられる割り込みマスクに分離されたハウスキーピング CPU が含まれる場合にのみ有効です。ハウスキーピング CPU がオンラインの場合、この割り込みはハウスキーピング CPU に転送され、ハウスキーピング CPU で送信される I/O は分離された CPU を妨害できません。

    キューのアフィニティーマスクが分離された CPU しか含まない場合、このパラメーターは割り込みルーティングの決定には影響を与えません。ただし、割り込みは、それらの分離された CPU で実行しているタスクが I/O を送信する場合にのみ配信されます。ハウスキーピング CPU 上で送信された I/O は、これらのキューに影響を与えません。

mds = [X86,INTEL]

オプションの変更は次のとおりです。

  • off - TSX Async Abort (TAA) の影響を受けるマシンでは、TAA 軽減策をアクティブにすることで、mds=off が阻害される可能性があります。これは両方の脆弱性が同じメカニズムで軽減されるためです。したがって、この軽減策を無効にするには、tsx_async_abort=off カーネルパラメーターも指定する必要があります。

このパラメーターを指定しない場合は、mds=full と同じです。

詳細は、アップストリームのカーネルドキュメントを参照してください。

mem_encrypt = [X86-64]

AMD Secure Memory Encryption (SME) の制御

メモリー暗号化を有効にできる場合についての詳細は、アップストリームのカーネルドキュメントを参照してください。

mitigations =

オプションの変更は次のとおりです。

  • off - オプションの CPU 軽減策をすべて無効にします。これによりシステムパフォーマンスが向上しますが、ユーザーを複数の CPU の脆弱性にさらす可能性もあります。

    以下に相当します。

    • nopti [X86,PPC]
    • kpti=0 [ARM64]
    • nospectre_v1 [X86,PPC]
    • nobp=0 [S390]
    • nospectre_v2 [X86,PPC,S390,ARM64]
    • spectre_v2_user=off [X86]
    • spec_store_bypass_disable=off [X86,PPC]
    • ssbd=force-off [ARM64]
    • l1tf=off [X86]
    • mds=off [X86]
    • tsx_async_abort=off [X86]
    • kvm.nx_huge_pages=off [X86]

      以下の例外があります。

      kvm.nx_huge_pages=force の場合、kvm.nx_huge_pages に影響を与えません。

  • auto,nosmt - 必要に応じて同時マルチスレッディング (SMT) を無効にし、すべての CPU 脆弱性を軽減します。このオプションは、SMT が失われるとしても常に完全な軽減を希望するユーザー向けです。

    以下に相当します。

    • l1tf=flush,nosmt [X86]
    • mds=full,nosmt [X86]
    • tsx_async_abort=full,nosmt [X86]
rcutree.jiffies_till_sched_qs = [KNL]

このパラメーターは、リードコピーアップデート (RCU) が rcu_note_context_switch() および cond_resched() 関数から静止状態のヘルプを求め始める前に指定の猶予期間で必要とされる期間を jiffy 単位で設定します。指定されていない場合、カーネルは、直近で設定された rcutree.jiffies_till_first_fqs および rcutree.jiffies_till_next_fqs カーネルパラメーターをベースに値を計算します。

この計算値は、rcutree.jiffies_to_sched_qs カーネルパラメーターで確認できます。rcutree.jiffies_to_sched_qs を設定しようとすると、上書きされます。

tsc =

このパラメーターは、Time Stamp Counter (TSC) のクロックソース安定性チェックを無効にします。

形式は、<文字列> です。

オプションは次のとおりです。

  • reliable [x86] - TSC クロックソースを信頼できるものとしてマークします。このオプションは、ランタイム時のクロックソース検証と、起動時に実行される安定性チェックを無効にします。また、このオプションでは、古いハードウェアおよび仮想化環境の high-resolution timer モードが有効になります。
  • noirqtime [x86] - Interrupt Request (IRQ) の計算に TSC を使用しません。Read Time-Stamp Counter (RDTSC) が遅れているプラットフォームで IRQ_TIME_ACCOUNTING を無効にする時間を実行するために使用されます。この計算はオーバーヘッドに追加される可能性があります。
  • unstable [x86] - TSC クロックソースを不安定としてマークします。このオプションは、システムの起動時に TSC を無条件で不安定としてマークし、TSC ウォッチドッグの通知が出た後の追加のウォブルを回避します。
  • nowatchdog [x86] - クロックソースウォッチドッグを無効にします。このオプションは、クロックソースウォッチドッグからの割り込みが許可されない厳密なレイテンシー要件のある状況で使用されます。