ublk: fail to recover device if queue setup is interrupted
[linux-block.git] / drivers / cpuidle / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
b98e01ad 2menu "CPU Idle"
4f86d3a8 3
b98e01ad 4config 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
16if CPU_IDLE
17
bf4d1b5d 18config CPU_IDLE_MULTIPLE_DRIVERS
656b4e63 19 bool
bf4d1b5d 20
4f86d3a8 21config CPU_IDLE_GOV_LADDER
d6f346f2 22 bool "Ladder governor (for periodic timer tick)"
4f86d3a8
LB
23
24config CPU_IDLE_GOV_MENU
d6f346f2 25 bool "Menu governor (for tickless system)"
4126c019 26
b26bf6ab
RW
27config 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
36config 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
47config DT_IDLE_STATES
48 bool
49
9d976d67
AP
50config DT_IDLE_GENPD
51 depends on PM_GENERIC_DOMAINS_OF
52 bool
53
b98e01ad 54menu "ARM CPU Idle Drivers"
0e087044 55depends on ARM || ARM64
b98e01ad
S
56source "drivers/cpuidle/Kconfig.arm"
57endmenu
bd2a337a 58
d0508944
PB
59menu "MIPS CPU Idle Drivers"
60depends on MIPS
61source "drivers/cpuidle/Kconfig.mips"
62endmenu
63
962e7bd4
DD
64menu "POWERPC CPU Idle Drivers"
65depends on PPC
66source "drivers/cpuidle/Kconfig.powerpc"
67endmenu
68
6abf32f1
AP
69menu "RISC-V CPU Idle Drivers"
70depends on RISCV
71source "drivers/cpuidle/Kconfig.riscv"
72endmenu
73
fa86ee90 74config 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 84endif
b39b0981
DL
85
86config ARCH_NEEDS_CPU_IDLE_COUPLED
87 def_bool n
b98e01ad 88endmenu