hc
2024-09-20 a36159eec6ca17402b0e146b86efaf76568dc353
kernel/drivers/cpuidle/Kconfig
....@@ -1,10 +1,11 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 menu "CPU Idle"
23
34 config CPU_IDLE
45 bool "CPU idle PM support"
56 default y if ACPI || PPC_PSERIES
67 select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
7
- select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE)
8
+ select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
89 help
910 CPU idle is a generic framework for supporting software-controlled
1011 idle processor power management. It includes modular cross-platform
....@@ -15,13 +16,33 @@
1516 if CPU_IDLE
1617
1718 config CPU_IDLE_MULTIPLE_DRIVERS
18
- bool
19
+ bool
1920
2021 config CPU_IDLE_GOV_LADDER
2122 bool "Ladder governor (for periodic timer tick)"
2223
2324 config CPU_IDLE_GOV_MENU
2425 bool "Menu governor (for tickless system)"
26
+
27
+config CPU_IDLE_GOV_TEO
28
+ bool "Timer events oriented (TEO) governor (for tickless systems)"
29
+ help
30
+ This governor implements a simplified idle state selection method
31
+ focused on timer events and does not do any interactivity boosting.
32
+
33
+ Some workloads benefit from using it and it generally should be safe
34
+ to use. Say Y here if you are not happy with the alternatives.
35
+
36
+config CPU_IDLE_GOV_HALTPOLL
37
+ bool "Haltpoll governor (for virtualized systems)"
38
+ depends on KVM_GUEST
39
+ help
40
+ This governor implements haltpoll idle state selection, to be
41
+ used in conjunction with the haltpoll cpuidle driver, allowing
42
+ for polling for a certain amount of time before entering idle
43
+ state.
44
+
45
+ Some virtualized workloads benefit from using it.
2546
2647 config DT_IDLE_STATES
2748 bool
....@@ -41,6 +62,15 @@
4162 source "drivers/cpuidle/Kconfig.powerpc"
4263 endmenu
4364
65
+config HALTPOLL_CPUIDLE
66
+ tristate "Halt poll cpuidle driver"
67
+ depends on X86 && KVM_GUEST
68
+ default y
69
+ help
70
+ This option enables halt poll cpuidle driver, which allows to poll
71
+ before halting in the guest (more efficient than polling in the
72
+ host via halt_poll_ns for some scenarios).
73
+
4474 endif
4575
4676 config ARCH_NEEDS_CPU_IDLE_COUPLED