Loading Documentation/ABI/testing/sysfs-devices-system-cpu +39 −0 Original line number Diff line number Diff line Loading @@ -268,6 +268,45 @@ Description: Discover CPUs in the same CPU frequency coordination domain This file is only present if the acpi-cpufreq or the cppc-cpufreq drivers are in use. What: /sys/devices/system/cpu/cpuX/cpufreq/auto_act_window Date: October 2024 Contact: linux-pm@vger.kernel.org Description: Autonomous activity window This file indicates a moving utilization sensitivity window to the platform's autonomous selection policy. Read/write an integer represents autonomous activity window (in microseconds) from/to this file. The max value to write is 1270000000 but the max significand is 127. This means that if 128 is written to this file, 127 will be stored. If the value is greater than 130, only the first two digits will be saved as significand. Writing a zero value to this file enable the platform to determine an appropriate Activity Window depending on the workload. Writing to this file only has meaning when Autonomous Selection is enabled. This file only presents if the cppc-cpufreq driver is in use. What: /sys/devices/system/cpu/cpuX/cpufreq/energy_perf Date: October 2024 Contact: linux-pm@vger.kernel.org Description: Energy performance preference Read/write an 8-bit integer from/to this file. This file represents a range of values from 0 (performance preference) to 0xFF (energy efficiency preference) that influences the rate of performance increase/decrease and the result of the hardware's energy efficiency and performance optimization policies. Writing to this file only has meaning when Autonomous Selection is enabled. This file only presents if the cppc-cpufreq driver is in use. What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} Date: August 2008 Loading Documentation/ABI/testing/sysfs-fs-virtiofs 0 → 100644 +11 −0 Original line number Diff line number Diff line What: /sys/fs/virtiofs/<n>/tag Date: Feb 2024 Contact: virtio-fs@lists.linux.dev Description: [RO] The mount "tag" that can be used to mount this filesystem. What: /sys/fs/virtiofs/<n>/device Date: Feb 2024 Contact: virtio-fs@lists.linux.dev Description: Symlink to the virtio device that exports this filesystem. Documentation/admin-guide/kernel-parameters.txt +13 −3 Original line number Diff line number Diff line Loading @@ -4011,9 +4011,10 @@ vulnerability. System may allow data leaks with this option. no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES] Disable paravirtualized steal time accounting. steal time is computed, but won't influence scheduler behaviour no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES,RISCV,LOONGARCH,EARLY] Disable paravirtualized steal time accounting. steal time is computed, but won't influence scheduler behaviour nosync [HW,M68K] Disables sync negotiation for all devices. Loading Loading @@ -6523,6 +6524,15 @@ <deci-seconds>: poll all this frequency 0: no polling (default) thp_anon= [KNL] Format: <size>[KMG],<size>[KMG]:<state>;<size>[KMG]-<size>[KMG]:<state> state is one of "always", "madvise", "never" or "inherit". Control the default behavior of the system with respect to anonymous transparent hugepages. Can be used multiple times for multiple anon THP sizes. See Documentation/admin-guide/mm/transhuge.rst for more details. threadirqs [KNL] Force threading of all interrupt handlers except those marked explicitly IRQF_NO_THREAD. Loading Documentation/admin-guide/mm/transhuge.rst +36 −7 Original line number Diff line number Diff line Loading @@ -317,13 +317,37 @@ processes. Exceeding the number would block the collapse:: A higher value may increase memory footprint for some workloads. Boot parameter ============== You can change the sysfs boot time defaults of Transparent Hugepage Support by passing the parameter ``transparent_hugepage=always`` or ``transparent_hugepage=madvise`` or ``transparent_hugepage=never`` to the kernel command line. Boot parameters =============== You can change the sysfs boot time default for the top-level "enabled" control by passing the parameter ``transparent_hugepage=always`` or ``transparent_hugepage=madvise`` or ``transparent_hugepage=never`` to the kernel command line. Alternatively, each supported anonymous THP size can be controlled by passing ``thp_anon=<size>[KMG],<size>[KMG]:<state>;<size>[KMG]-<size>[KMG]:<state>``, where ``<size>`` is the THP size (must be a power of 2 of PAGE_SIZE and supported anonymous THP) and ``<state>`` is one of ``always``, ``madvise``, ``never`` or ``inherit``. For example, the following will set 16K, 32K, 64K THP to ``always``, set 128K, 512K to ``inherit``, set 256K to ``madvise`` and 1M, 2M to ``never``:: thp_anon=16K-64K:always;128K,512K:inherit;256K:madvise;1M-2M:never ``thp_anon=`` may be specified multiple times to configure all THP sizes as required. If ``thp_anon=`` is specified at least once, any anon THP sizes not explicitly configured on the command line are implicitly set to ``never``. ``transparent_hugepage`` setting only affects the global toggle. If ``thp_anon`` is not specified, PMD_ORDER THP will default to ``inherit``. However, if a valid ``thp_anon`` setting is provided by the user, the PMD_ORDER THP policy will be overridden. If the policy for PMD_ORDER is not defined within a valid ``thp_anon``, its policy will default to ``never``. Hugepages in tmpfs/shmem ======================== Loading Loading @@ -560,6 +584,11 @@ split_deferred it would free up some memory. Pages on split queue are going to be split under memory pressure, if splitting is possible. nr_anon the number of anonymous THP we have in the whole system. These THPs might be currently entirely mapped or have partially unmapped/unused subpages. As the system ages, allocating huge pages may be expensive as the system uses memory compaction to copy data around memory to free a huge page for use. There are some counters in ``/proc/vmstat`` to help Loading Documentation/admin-guide/pm/cpufreq.rst +42 −0 Original line number Diff line number Diff line Loading @@ -590,6 +590,48 @@ This governor exposes the following tunables: It effectively causes the frequency to go down ``sampling_down_factor`` times slower than it ramps up. ``seep`` ------------ This governor is specifically designed for platforms with hardware-managed P-states through CPPC (Collaborative Processor Performance Control). Unlike other governors that implement their own frequency scaling algorithms, the ``seep`` governor delegates the P-state selection to the hardware/firmware by enabling CPPC autonomous mode. The governor requires the ``cppc_cpufreq`` driver and the platform must support three key CPPC capabilities: * Autonomous selection (auto_sel) * Autonomous activity window (auto_act_window) * Energy-Performance Preference (EPP) When this governor is attached to a policy, it enables the hardware autonomous mode, allowing the processor's firmware to directly manage frequency scaling based on workload characteristics. The actual P-state selection algorithms are implemented in firmware/hardware rather than in the operating system. This governor exposes the following tunables (per-policy): ``auto_act_window`` The time window (in microseconds) used by the hardware/firmware to observe and evaluate workload characteristics before making P-state decisions. A smaller window makes the algorithm more responsive but potentially less stable, while a larger window provides more stable but less responsive frequency scaling. ``energy_perf`` A value between 0 and 255 that biases the hardware's frequency scaling decisions between performance and energy efficiency. Lower values (closer to 0) favor performance at the expense of power consumption, while higher values (closer to 255) favor energy efficiency but may impact performance. The ``seep`` governor is particularly suitable for platforms where the hardware has more accurate and fine-grained information about the system's power and thermal constraints than the operating system. It can potentially provide better energy efficiency than software-based governors while maintaining good performance, as the hardware can make faster and more informed P-state decisions. Frequency Boost Support ======================= Loading Loading
Documentation/ABI/testing/sysfs-devices-system-cpu +39 −0 Original line number Diff line number Diff line Loading @@ -268,6 +268,45 @@ Description: Discover CPUs in the same CPU frequency coordination domain This file is only present if the acpi-cpufreq or the cppc-cpufreq drivers are in use. What: /sys/devices/system/cpu/cpuX/cpufreq/auto_act_window Date: October 2024 Contact: linux-pm@vger.kernel.org Description: Autonomous activity window This file indicates a moving utilization sensitivity window to the platform's autonomous selection policy. Read/write an integer represents autonomous activity window (in microseconds) from/to this file. The max value to write is 1270000000 but the max significand is 127. This means that if 128 is written to this file, 127 will be stored. If the value is greater than 130, only the first two digits will be saved as significand. Writing a zero value to this file enable the platform to determine an appropriate Activity Window depending on the workload. Writing to this file only has meaning when Autonomous Selection is enabled. This file only presents if the cppc-cpufreq driver is in use. What: /sys/devices/system/cpu/cpuX/cpufreq/energy_perf Date: October 2024 Contact: linux-pm@vger.kernel.org Description: Energy performance preference Read/write an 8-bit integer from/to this file. This file represents a range of values from 0 (performance preference) to 0xFF (energy efficiency preference) that influences the rate of performance increase/decrease and the result of the hardware's energy efficiency and performance optimization policies. Writing to this file only has meaning when Autonomous Selection is enabled. This file only presents if the cppc-cpufreq driver is in use. What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} Date: August 2008 Loading
Documentation/ABI/testing/sysfs-fs-virtiofs 0 → 100644 +11 −0 Original line number Diff line number Diff line What: /sys/fs/virtiofs/<n>/tag Date: Feb 2024 Contact: virtio-fs@lists.linux.dev Description: [RO] The mount "tag" that can be used to mount this filesystem. What: /sys/fs/virtiofs/<n>/device Date: Feb 2024 Contact: virtio-fs@lists.linux.dev Description: Symlink to the virtio device that exports this filesystem.
Documentation/admin-guide/kernel-parameters.txt +13 −3 Original line number Diff line number Diff line Loading @@ -4011,9 +4011,10 @@ vulnerability. System may allow data leaks with this option. no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES] Disable paravirtualized steal time accounting. steal time is computed, but won't influence scheduler behaviour no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES,RISCV,LOONGARCH,EARLY] Disable paravirtualized steal time accounting. steal time is computed, but won't influence scheduler behaviour nosync [HW,M68K] Disables sync negotiation for all devices. Loading Loading @@ -6523,6 +6524,15 @@ <deci-seconds>: poll all this frequency 0: no polling (default) thp_anon= [KNL] Format: <size>[KMG],<size>[KMG]:<state>;<size>[KMG]-<size>[KMG]:<state> state is one of "always", "madvise", "never" or "inherit". Control the default behavior of the system with respect to anonymous transparent hugepages. Can be used multiple times for multiple anon THP sizes. See Documentation/admin-guide/mm/transhuge.rst for more details. threadirqs [KNL] Force threading of all interrupt handlers except those marked explicitly IRQF_NO_THREAD. Loading
Documentation/admin-guide/mm/transhuge.rst +36 −7 Original line number Diff line number Diff line Loading @@ -317,13 +317,37 @@ processes. Exceeding the number would block the collapse:: A higher value may increase memory footprint for some workloads. Boot parameter ============== You can change the sysfs boot time defaults of Transparent Hugepage Support by passing the parameter ``transparent_hugepage=always`` or ``transparent_hugepage=madvise`` or ``transparent_hugepage=never`` to the kernel command line. Boot parameters =============== You can change the sysfs boot time default for the top-level "enabled" control by passing the parameter ``transparent_hugepage=always`` or ``transparent_hugepage=madvise`` or ``transparent_hugepage=never`` to the kernel command line. Alternatively, each supported anonymous THP size can be controlled by passing ``thp_anon=<size>[KMG],<size>[KMG]:<state>;<size>[KMG]-<size>[KMG]:<state>``, where ``<size>`` is the THP size (must be a power of 2 of PAGE_SIZE and supported anonymous THP) and ``<state>`` is one of ``always``, ``madvise``, ``never`` or ``inherit``. For example, the following will set 16K, 32K, 64K THP to ``always``, set 128K, 512K to ``inherit``, set 256K to ``madvise`` and 1M, 2M to ``never``:: thp_anon=16K-64K:always;128K,512K:inherit;256K:madvise;1M-2M:never ``thp_anon=`` may be specified multiple times to configure all THP sizes as required. If ``thp_anon=`` is specified at least once, any anon THP sizes not explicitly configured on the command line are implicitly set to ``never``. ``transparent_hugepage`` setting only affects the global toggle. If ``thp_anon`` is not specified, PMD_ORDER THP will default to ``inherit``. However, if a valid ``thp_anon`` setting is provided by the user, the PMD_ORDER THP policy will be overridden. If the policy for PMD_ORDER is not defined within a valid ``thp_anon``, its policy will default to ``never``. Hugepages in tmpfs/shmem ======================== Loading Loading @@ -560,6 +584,11 @@ split_deferred it would free up some memory. Pages on split queue are going to be split under memory pressure, if splitting is possible. nr_anon the number of anonymous THP we have in the whole system. These THPs might be currently entirely mapped or have partially unmapped/unused subpages. As the system ages, allocating huge pages may be expensive as the system uses memory compaction to copy data around memory to free a huge page for use. There are some counters in ``/proc/vmstat`` to help Loading
Documentation/admin-guide/pm/cpufreq.rst +42 −0 Original line number Diff line number Diff line Loading @@ -590,6 +590,48 @@ This governor exposes the following tunables: It effectively causes the frequency to go down ``sampling_down_factor`` times slower than it ramps up. ``seep`` ------------ This governor is specifically designed for platforms with hardware-managed P-states through CPPC (Collaborative Processor Performance Control). Unlike other governors that implement their own frequency scaling algorithms, the ``seep`` governor delegates the P-state selection to the hardware/firmware by enabling CPPC autonomous mode. The governor requires the ``cppc_cpufreq`` driver and the platform must support three key CPPC capabilities: * Autonomous selection (auto_sel) * Autonomous activity window (auto_act_window) * Energy-Performance Preference (EPP) When this governor is attached to a policy, it enables the hardware autonomous mode, allowing the processor's firmware to directly manage frequency scaling based on workload characteristics. The actual P-state selection algorithms are implemented in firmware/hardware rather than in the operating system. This governor exposes the following tunables (per-policy): ``auto_act_window`` The time window (in microseconds) used by the hardware/firmware to observe and evaluate workload characteristics before making P-state decisions. A smaller window makes the algorithm more responsive but potentially less stable, while a larger window provides more stable but less responsive frequency scaling. ``energy_perf`` A value between 0 and 255 that biases the hardware's frequency scaling decisions between performance and energy efficiency. Lower values (closer to 0) favor performance at the expense of power consumption, while higher values (closer to 255) favor energy efficiency but may impact performance. The ``seep`` governor is particularly suitable for platforms where the hardware has more accurate and fine-grained information about the system's power and thermal constraints than the operating system. It can potentially provide better energy efficiency than software-based governors while maintaining good performance, as the hardware can make faster and more informed P-state decisions. Frequency Boost Support ======================= Loading