kernel: enable pressure interface
authorJohn Audia <therealgraysky@proton.me>
Sun, 29 Oct 2023 08:32:21 +0000 (04:32 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 24 Nov 2024 23:15:41 +0000 (00:15 +0100)
PSI provides a canonical way to see resource pressure increases as
they develop, with pressure metrics for three major resources:
memory, CPU, and IO. PSI stats are like barometers that provide
fair warning of impending resource shortages, enabling users to
take more proactive, granular, and nuanced steps when resources
start becoming scarce.

References:
* https://www.kernel.org/doc/html/latest/accounting/psi.html
* https://lwn.net/Articles/759781/

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/13819
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
config/Config-kernel.in
target/linux/generic/config-6.6

index 0fa039db404b78a2408fd07fc72e186eb7dcf777..91678cf2a660c8d6f4cb869b611e59bdec2fa12d 100644 (file)
@@ -333,6 +333,25 @@ if KERNEL_TASKSTATS
 
 endif
 
+config KERNEL_PSI
+       bool "Compile the kernel with pressure stall information tracking"
+       help
+         Collect metrics that indicate how overcommitted the CPU, memory,
+         and IO capacity are in the system.
+
+         If you say Y here, the kernel will create /proc/pressure/ with the
+         pressure statistics files cpu, memory, and io. These will indicate
+         the share of walltime in which some or all tasks in the system are
+         delayed due to contention of the respective resource.
+
+         In kernels with cgroup support, cgroups (cgroup2 only) will
+         have cpu.pressure, memory.pressure, and io.pressure files,
+         which aggregate pressure stalls for the grouped tasks only.
+
+         For more details see Documentation/accounting/psi.rst.
+
+         Say N if unsure.
+
 config KERNEL_KALLSYMS
        bool "Compile the kernel with symbol table information"
        default y if !SMALL_FLASH
index 9eec780b53ae8512f1a835487fc64fa2b6246fdc..105dc0d344fa82c85b09482e051f35a282a60b08 100644 (file)
@@ -4758,6 +4758,7 @@ CONFIG_PROC_SYSCTL=y
 # CONFIG_PSB6970_PHY is not set
 # CONFIG_PSE_CONTROLLER is not set
 # CONFIG_PSI is not set
+# CONFIG_PSI_DEFAULT_DISABLED is not set
 # CONFIG_PSTORE is not set
 # CONFIG_PSTORE_BLK is not set
 # CONFIG_PSTORE_COMPRESS is not set