Merge branch 'next' into for-linus
[linux-block.git] / Documentation / admin-guide / kernel-parameters.txt
index ddfa50578a3e16c72e07979a0bf05c9c0591b876..0c4361b4f8444a4d779cbbc9ef62549c0c084919 100644 (file)
                        the GPE dispatcher.
                        This facility can be used to prevent such uncontrolled
                        GPE floodings.
-                       Format: <byte>
+                       Format: <byte> or <bitmap-list>
 
        acpi_no_auto_serialize  [HW,ACPI]
                        Disable auto-serialization of AML methods
                        do not want to use tracing_snapshot_alloc() as it needs
                        to be done where GFP_KERNEL allocations are allowed.
 
+       allow_mismatched_32bit_el0 [ARM64]
+                       Allow execve() of 32-bit applications and setting of the
+                       PER_LINUX32 personality on systems where only a strict
+                       subset of the CPUs support 32-bit EL0. When this
+                       parameter is present, the set of CPUs supporting 32-bit
+                       EL0 is indicated by /sys/devices/system/cpu/aarch32_el0
+                       and hot-unplug operations may be restricted.
+
+                       See Documentation/arm64/asymmetric-32bit.rst for more
+                       information.
+
        amd_iommu=      [HW,X86-64]
                        Pass parameters to the AMD IOMMU driver in the system.
                        Possible values are:
-                       fullflush - enable flushing of IO/TLB entries when
-                                   they are unmapped. Otherwise they are
-                                   flushed before they will be reused, which
-                                   is a lot of faster
+                       fullflush - Deprecated, equivalent to iommu.strict=1
                        off       - do not initialize any AMD IOMMU found in
                                    the system
                        force_isolation - Force device isolation for all
                                          allowed anymore to lift isolation
                                          requirements as needed. This option
                                          does not override iommu=pt
+                       force_enable - Force enable the IOMMU on platforms known
+                                      to be buggy with IOMMU enabled. Use this
+                                      option with care.
 
        amd_iommu_dump= [HW,X86-64]
                        Enable AMD IOMMU driver option to dump the ACPI table
        arm64.nopauth   [ARM64] Unconditionally disable Pointer Authentication
                        support
 
+       arm64.nomte     [ARM64] Unconditionally disable Memory Tagging Extension
+                       support
+
        ataflop=        [HW,M68k]
 
        atarimouse=     [HW,MOUSE] Atari Mouse
        ccw_timeout_log [S390]
                        See Documentation/s390/common_io.rst for details.
 
-       cgroup_disable= [KNL] Disable a particular controller
-                       Format: {name of the controller(s) to disable}
+       cgroup_disable= [KNL] Disable a particular controller or optional feature
+                       Format: {name of the controller(s) or feature(s) to disable}
                        The effects of cgroup_disable=foo are:
                        - foo isn't auto-mounted if you mount all cgroups in
                          a single hierarchy
                        - foo isn't visible as an individually mountable
                          subsystem
+                       - if foo is an optional feature then the feature is
+                         disabled and corresponding cgroup files are not
+                         created
                        {Currently only "memory" controller deal with this and
                        cut the overhead, others just disable the usage. So
                        only cgroup_disable=memory is actually worthy}
+                       Specifying "pressure" disables per-cgroup pressure
+                       stall information accounting feature
 
        cgroup_no_v1=   [KNL] Disable cgroup controllers and named hierarchies in v1
                        Format: { { controller | "all" | "named" }
                        loops can be debugged more effectively on production
                        systems.
 
+       clocksource.max_cswd_read_retries= [KNL]
+                       Number of clocksource_watchdog() retries due to
+                       external delays before the clock will be marked
+                       unstable.  Defaults to three retries, that is,
+                       four attempts to read the clock under test.
+
+       clocksource.verify_n_cpus= [KNL]
+                       Limit the number of CPUs checked for clocksources
+                       marked with CLOCK_SOURCE_VERIFY_PERCPU that
+                       are marked unstable due to excessive skew.
+                       A negative value says to check all CPUs, while
+                       zero says not to check any.  Values larger than
+                       nr_cpu_ids are silently truncated to nr_cpu_ids.
+                       The actual CPUs are chosen randomly, with
+                       no replacement if the same CPU is chosen twice.
+
+       clocksource-wdtest.holdoff= [KNL]
+                       Set the time in seconds that the clocksource
+                       watchdog test waits before commencing its tests.
+                       Defaults to zero when built as a module and to
+                       10 seconds when built into the kernel.
+
        clearcpuid=BITNUM[,BITNUM...] [X86]
                        Disable CPUID feature X for the kernel. See
                        arch/x86/include/asm/cpufeatures.h for the valid bit
                        the driver will use only 32-bit accessors to read/write
                        the device registers.
 
+               liteuart,<addr>
+                       Start an early console on a litex serial port at the
+                       specified address. The serial port must already be
+                       setup and configured. Options are not yet supported.
+
                meson,<addr>
                        Start an early, polled-mode console on a meson serial
                        port at the specified address. The serial port must
                        The VGA and EFI output is eventually overwritten by
                        the real console.
 
-                       The xen output can only be used by Xen PV guests.
+                       The xen option can only be used in Xen domains.
 
                        The sclp output can only be used on s390.
 
                        Documentation/admin-guide/mm/hugetlbpage.rst.
                        Format: size[KMG]
 
+       hugetlb_free_vmemmap=
+                       [KNL] Reguires CONFIG_HUGETLB_PAGE_FREE_VMEMMAP
+                       enabled.
+                       Allows heavy hugetlb users to free up some more
+                       memory (6 * PAGE_SIZE for each 2MB hugetlb page).
+                       Format: { on | off (default) }
+
+                       on:  enable the feature
+                       off: disable the feature
+
+                       Built with CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y,
+                       the default is on.
+
+                       This is not compatible with memory_hotplug.memmap_on_memory.
+                       If both parameters are enabled, hugetlb_free_vmemmap takes
+                       precedence over memory_hotplug.memmap_on_memory.
+
        hung_task_panic=
                        [KNL] Should the hung task detector generate panics.
                        Format: 0 | 1
                        support for the idxd driver. By default it is set to
                        true (1).
 
+       idxd.tc_override= [HW]
+                       Format: <bool>
+                       Allow override of default traffic class configuration
+                       for the device. By default it is set to false (0).
+
        ieee754=        [MIPS] Select IEEE Std 754 conformance mode
                        Format: { strict | legacy | 2008 | relaxed }
                        Default: strict
                        this case, gfx device will use physical address for
                        DMA.
                strict [Default Off]
-                       With this option on every unmap_single operation will
-                       result in a hardware IOTLB flush operation as opposed
-                       to batching them for performance.
+                       Deprecated, equivalent to iommu.strict=1.
                sp_off [Default Off]
                        By default, super page will be supported if Intel IOMMU
                        has the capability. With this option, super page will
                        not be supported.
-               sm_on [Default Off]
-                       By default, scalable mode will be disabled even if the
-                       hardware advertises that it has support for the scalable
-                       mode translation. With this option set, scalable mode
-                       will be used on hardware which claims to support it.
+               sm_on
+                       Enable the Intel IOMMU scalable mode if the hardware
+                       advertises that it has support for the scalable mode
+                       translation.
+               sm_off
+                       Disallow use of the Intel IOMMU scalable mode.
                tboot_noforce [Default Off]
                        Do not force the Intel IOMMU enabled under tboot.
                        By default, tboot will force Intel IOMMU on, which
                          forcing Dual Address Cycle for PCI cards supporting
                          greater than 32-bit addressing.
 
-       iommu.strict=   [ARM64] Configure TLB invalidation behaviour
+       iommu.strict=   [ARM64, X86] Configure TLB invalidation behaviour
                        Format: { "0" | "1" }
                        0 - Lazy mode.
                          Request that DMA unmap operations use deferred
                          throughput at the cost of reduced device isolation.
                          Will fall back to strict mode if not supported by
                          the relevant IOMMU driver.
-                       1 - Strict mode (default).
+                       1 - Strict mode.
                          DMA unmap operations invalidate IOMMU hardware TLBs
                          synchronously.
+                       unset - Use value of CONFIG_IOMMU_DEFAULT_DMA_{LAZY,STRICT}.
+                       Note: on x86, strict mode specified via one of the
+                       legacy driver-specific options takes precedence.
 
        iommu.passthrough=
                        [ARM64, X86] Configure DMA to bypass the IOMMU by default.
                        feature (tagged TLBs) on capable Intel chips.
                        Default is 1 (enabled)
 
+       l1d_flush=      [X86,INTEL]
+                       Control mitigation for L1D based snooping vulnerability.
+
+                       Certain CPUs are vulnerable to an exploit against CPU
+                       internal buffers which can forward information to a
+                       disclosure gadget under certain conditions.
+
+                       In vulnerable processors, the speculatively
+                       forwarded data can be used in a cache side channel
+                       attack, to access data to which the attacker does
+                       not have direct access.
+
+                       This parameter controls the mitigation. The
+                       options are:
+
+                       on         - enable the interface for the mitigation
+
        l1tf=           [X86] Control mitigation of the L1TF vulnerability on
                              affected CPUs
 
                        Note that even when enabled, there are a few cases where
                        the feature is not effective.
 
+                       This is not compatible with hugetlb_free_vmemmap. If
+                       both parameters are enabled, hugetlb_free_vmemmap takes
+                       precedence over memory_hotplug.memmap_on_memory.
+
        memtest=        [KNL,X86,ARM,PPC,RISCV] Enable memtest
                        Format: <integer>
                        default : 0 <disable>
 
        noclflush       [BUGS=X86] Don't use the CLFLUSH instruction
 
-       nodelayacct     [KNL] Disable per-task delay accounting
+       delayacct       [KNL] Enable per-task delay accounting
 
        nodsp           [SH] Disable hardware DSP at boot time.
 
 
        nr_uarts=       [SERIAL] maximum number of UARTs to be registered.
 
+       numa=off        [KNL, ARM64, PPC, RISCV, SPARC, X86] Disable NUMA, Only
+                       set up a single NUMA node spanning all memory.
+
        numa_balancing= [KNL,ARM64,PPC,RISCV,S390,X86] Enable or disable automatic
                        NUMA balancing.
                        Allowed values are enable and disable
                        off: turn off poisoning (default)
                        on: turn on poisoning
 
+       page_reporting.page_reporting_order=
+                       [KNL] Minimal page reporting order
+                       Format: <integer>
+                       Adjust the minimal page reporting order. The page
+                       reporting is disabled when it exceeds (MAX_ORDER-1).
+
        panic=          [KNL] Kernel behaviour on panic: delay <timeout>
                        timeout > 0: seconds before rebooting
                        timeout = 0: wait forever
                        Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
                        default: disabled
 
+       printk.console_no_auto_verbose=
+                       Disable console loglevel raise on oops, panic
+                       or lockdep-detected issues (only if lock debug is on).
+                       With an exception to setups with low baudrate on
+                       serial console, keeping this 0 is a good choice
+                       in order to provide more debug information.
+                       Format: <bool>
+                       default: 0 (auto_verbose is enabled)
+
        printk.devkmsg={on,off,ratelimit}
                        Control writing to /dev/kmsg.
                        on - unlimited logging to /dev/kmsg from userspace
                        whole algorithm to behave better in low memory
                        condition.
 
+       rcutree.rcu_delay_page_cache_fill_msec= [KNL]
+                       Set the page-cache refill delay (in milliseconds)
+                       in response to low-memory conditions.  The range
+                       of permitted values is in the range 0:100000.
+
        rcutree.jiffies_till_first_fqs= [KNL]
                        Set delay from grace-period initialization to
                        first attempt to force quiescent states.
 
        reboot=         [KNL]
                        Format (x86 or x86_64):
-                               [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
+                               [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] | d[efault] \
                                [[,]s[mp]#### \
                                [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
                                [[,]f[orce]
                        Reserves a hole at the top of the kernel virtual
                        address space.
 
-       reservelow=     [X86]
-                       Format: nn[K]
-                       Set the amount of memory to reserve for BIOS at
-                       the bottom of the address space.
-
        reset_devices   [KNL] Force drivers to reset the underlying device
                        during initialization.
 
        sa1100ir        [NET]
                        See drivers/net/irda/sa1100_ir.c.
 
-       sbni=           [NET] Granch SBNI12 leased line adapter
-
        sched_verbose   [KNL] Enables verbose scheduler debug messages.
 
        schedstats=     [KNL,X86] Enable or disable scheduled statistics.
                                  exception. Default behavior is by #AC if
                                  both features are enabled in hardware.
 
+                       ratelimit:N -
+                                 Set system wide rate limit to N bus locks
+                                 per second for bus lock detection.
+                                 0 < N <= 1000.
+
+                                 N/A for split lock detection.
+
+
                        If an #AC exception is hit in the kernel or in
                        firmware (i.e. not while executing in user mode)
                        the kernel will oops in either "warn" or "fatal"
                        Note, echoing 1 into this file without the
                        tracepoint_printk kernel cmdline option has no effect.
 
+                       The tp_printk_stop_on_boot (see below) can also be used
+                       to stop the printing of events to console at
+                       late_initcall_sync.
+
                        ** CAUTION **
 
                        Having tracepoints sent to printk() and activating high
                        frequency tracepoints such as irq or sched, can cause
                        the system to live lock.
 
+       tp_printk_stop_on_boot[FTRACE]
+                       When tp_printk (above) is set, it can cause a lot of noise
+                       on the console. It may be useful to only include the
+                       printing of events during boot up, as user space may
+                       make the system inoperable.
+
+                       This command line option will stop the printing of events
+                       to console at the late_initcall_sync() time frame.
+
        traceoff_on_warning
                        [FTRACE] enable this option to disable tracing when a
                        warning is hit. This turns off "tracing_on". Tracing can