Chapter 5. Important changes to external kernel parameters
This chapter provides system administrators with a summary of significant changes in the kernel distributed with Red Hat Enterprise Linux 9.7. These changes could include, for example, added or updated proc entries, sysctl, and sysfs default values, boot parameters, kernel configuration options, or any noticeable behavior changes.
New kernel parameters
arm64.nompam=
[ARM64] Unconditionally disable Memory Partitioning And Monitoring support.
indirect_target_selection=
[X86,Intel] Mitigation control for Indirect Target Selection (ITS) bug in Intel CPUs. Updated microcode is also required for a fix in IBPB.
Possible values:
on – Enable mitigation (default). off – Disable mitigation. force – Force the ITS bug and deploy default mitigation. vmexit – Only deploy mitigation if the CPU is affected by guest/host isolation part of ITS. stuff – Deploy RSB-fill mitigation when retpoline is also deployed. Otherwise, deploy the default mitigation.
See Documentation /admin-guide/hw-vuln/indirect-target-selection.rst
pcie.notph
[PCIE] If the PCIE_TPH kernel configuration parameter is enabled, this kernel boot option can be used to disable PCIe TLP Processing Hints support system-wide.
rcutree.csd_lock_suppress_rcu_stall=
[KNL] Do only a one-line RCU CPU stall warning when there is an ongoing too-long CSD-lock wait.
rcuscale.kfree_by_call_rcu=
[KNL] In kernels built with CONFIG_RCU_LAZY=y, test call_rcu() instead of kfree_rcu().
rcuscale.kfree_mult=
[KNL] Instead of allocating an object of size kfree_obj, allocate one of kfree_mult * sizeof(kfree_obj). Defaults to 1.
rcuscale.scale_type=
[KNL] Specify the RCU implementation to test.
rcutorture.stall_cpu_repeat=
[KNL] Number of times to repeat the stall sequence, so that rcutorture.stall_cpu_repeat=3 will result in four stall sequences.
refscale.lookup_instances=
[KNL] Number of data elements to use for the forms of SLAB_TYPESAFE_BY_RCU testing. A negative number is negated and multiplied by nr_cpu_ids, while zero specifies nr_cpu_ids.
smp.panic_on_ipistall=
[KNL] If a csd_lock_timeout extends for more than the specified number of milliseconds, panic the system. By default, let CSD-lock acquisition take as long as they take. Specifying 300000 for this value provides a 5-minute timeout.
spectre_bhi=
[X86] Control mitigation of Branch History Injection (BHI).
on – (default) Enable the HW or SW mitigation as needed. This protects the kernel from both syscalls and VMs. vmexit – On systems which don’t have the HW mitigation available, enable the SW mitigation on vmexit ONLY. On such systems, the host kernel is protected from VM-originated BHI attacks, but may still be vulnerable to syscall attacks. off – Disable the mitigation.
tsa=
[X86] Control mitigation for Transient Scheduler Attacks on AMD CPUs. Search the following in your favourite search engine for more details:
Technical guidance for mitigating transient scheduler attacks. off – disable the mitigation on – enable the mitigation (default) user – mitigate only user/kernel transitions vm – mitigate only guest/host transitions
Removed kernel parameters
clocksource.max_cswd_read_retries=
[KNL] Number of clocksource_watchdog() retries due to external delays before the clock will be marked unstable. Defaults to two retries, that is, three attempts to read the clock under test.
disable_cpu_apicid=
[X86,APIC,SMP] Format: <int> The number of initial APIC ID for the corresponding CPU to be disabled at boot, mostly used for the kdump 2nd kernel to disable BSP to wake up multiple CPUs without causing system reset or hang due to sending INIT from AP to BSP.
Changed kernel parameters
nohz_full=
[KNL] Disable the tick when a single task runs as well as disabling other kernel noises like having RCU callbacks offloaded. This is equivalent to the nohz_full parameter. A residual 1Hz tick is offloaded to workqueues, which you need to affine to housekeeping through the global sysfs interface.
mce=
[X86-64] See Documentation /arch/x86/x86_64/boot-options.rst.
mem_encrypt=
[X86-64] See Documentation /virt/kvm/x86/amd-memory-encryption.rst for details on when memory encryption can be activated.
mitigations=
[ALL] Selecting mitigations=off is equivalent to also turning off the following:
If nokaslr then kpti=0 [ARM64]gather_data_sampling=off [X86]indirect_target_selection=off [X86]kvm.nx_huge_pages=off [X86]l1tf=off [X86]mds=off [X86]meltdown=off [X86]mmio_stale_data=off [X86]pcid=off [X86]pti=off [X86]spectre_v1=off [X86]spectre_v2=off [X86]tsx=off [X86]tsx_async_abort=off [X86]uhi=off [X86]
pci=config_acs=
[PCI] Format: <ACS flags>@<pci_dev>[; …]
Each bit value:
0 – force disabled 1 – force enabled x – unchanged For example, pci=config_acs=10x@pci:0:0 would configure all devices that support ACS to enable P2P Request Redirect, disable Translation Blocking, and leave Source Validation unchanged from whatever power-up or firmware set it to.
This may remove isolation between devices and may put more devices in an IOMMU group.
pirq=
[SMP,APIC] See Documentation /arch/x86/i386/IO-APIC.rst.
prot_virt=
[S390] Enable hosting protected virtual machines isolated from the hypervisor (if hardware supports that). If enabled, the default kernel base address might be overridden even when Kernel Address Space Layout Randomization is disabled. Format: <bool>
sev=
[X86-64] See Documentation /arch/x86/x86_64/boot-options.rst.
spectre_v2_user=
[X86] Control mitigation of Spectre variant 2 for user space. Selecting on will also enable the mitigation against user space to user space task attacks. Selecting specific mitigation does not force enable user mitigations. Selecting off will disable both the kernel and the user space protections.
rcutorture.stall_cpu_irqsoff=
[KNL] Disable interrupts while stalling if set, but only on the first stall in the set.
New sysctl parameters
timer_migration
When set to a non-zero value, attempt to migrate timers away from idle CPUs to allow them to remain in low power states longer. Default: 1