Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
b98e01ad | 2 | menu "CPU Idle" |
4f86d3a8 | 3 | |
b98e01ad | 4 | config CPU_IDLE |
4f86d3a8 | 5 | bool "CPU idle PM support" |
aa491ad3 | 6 | default y if ACPI || PPC_PSERIES |
d6f346f2 | 7 | select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE) |
b26bf6ab | 8 | select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO |
4f86d3a8 LB |
9 | help |
10 | CPU idle is a generic framework for supporting software-controlled | |
11 | idle processor power management. It includes modular cross-platform | |
12 | governors that can be swapped during runtime. | |
13 | ||
60555e37 | 14 | If you're using an ACPI-enabled platform, you should say Y here. |
4f86d3a8 | 15 | |
d6f346f2 DL |
16 | if CPU_IDLE |
17 | ||
bf4d1b5d | 18 | config CPU_IDLE_MULTIPLE_DRIVERS |
656b4e63 | 19 | bool |
bf4d1b5d | 20 | |
4f86d3a8 | 21 | config CPU_IDLE_GOV_LADDER |
d6f346f2 | 22 | bool "Ladder governor (for periodic timer tick)" |
4f86d3a8 LB |
23 | |
24 | config CPU_IDLE_GOV_MENU | |
d6f346f2 | 25 | bool "Menu governor (for tickless system)" |
4126c019 | 26 | |
b26bf6ab RW |
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 | ||
2cffe9f6 MT |
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. | |
46 | ||
9f14da34 LP |
47 | config DT_IDLE_STATES |
48 | bool | |
49 | ||
9d976d67 AP |
50 | config DT_IDLE_GENPD |
51 | depends on PM_GENERIC_DOMAINS_OF | |
52 | bool | |
53 | ||
b98e01ad | 54 | menu "ARM CPU Idle Drivers" |
0e087044 | 55 | depends on ARM || ARM64 |
b98e01ad S |
56 | source "drivers/cpuidle/Kconfig.arm" |
57 | endmenu | |
bd2a337a | 58 | |
d0508944 PB |
59 | menu "MIPS CPU Idle Drivers" |
60 | depends on MIPS | |
61 | source "drivers/cpuidle/Kconfig.mips" | |
62 | endmenu | |
63 | ||
962e7bd4 DD |
64 | menu "POWERPC CPU Idle Drivers" |
65 | depends on PPC | |
66 | source "drivers/cpuidle/Kconfig.powerpc" | |
67 | endmenu | |
68 | ||
6abf32f1 AP |
69 | menu "RISC-V CPU Idle Drivers" |
70 | depends on RISCV | |
71 | source "drivers/cpuidle/Kconfig.riscv" | |
72 | endmenu | |
73 | ||
fa86ee90 | 74 | config HALTPOLL_CPUIDLE |
656b4e63 KK |
75 | tristate "Halt poll cpuidle driver" |
76 | depends on X86 && KVM_GUEST | |
4edc13ae | 77 | select CPU_IDLE_GOV_HALTPOLL |
656b4e63 KK |
78 | default y |
79 | help | |
80 | This option enables halt poll cpuidle driver, which allows to poll | |
81 | before halting in the guest (more efficient than polling in the | |
82 | host via halt_poll_ns for some scenarios). | |
fa86ee90 | 83 | |
be6a98d3 | 84 | endif |
b39b0981 DL |
85 | |
86 | config ARCH_NEEDS_CPU_IDLE_COUPLED | |
87 | def_bool n | |
b98e01ad | 88 | endmenu |