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.

Note

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

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat