89 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2menu "CPU Idle"3 4config CPU_IDLE5 bool "CPU idle PM support"6 default y if ACPI || PPC_PSERIES7 select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)8 select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO9 help10 CPU idle is a generic framework for supporting software-controlled11 idle processor power management. It includes modular cross-platform12 governors that can be swapped during runtime.13 14 If you're using an ACPI-enabled platform, you should say Y here.15 16if CPU_IDLE17 18config CPU_IDLE_MULTIPLE_DRIVERS19 bool20 21config CPU_IDLE_GOV_LADDER22 bool "Ladder governor (for periodic timer tick)"23 24config CPU_IDLE_GOV_MENU25 bool "Menu governor (for tickless system)"26 27config CPU_IDLE_GOV_TEO28 bool "Timer events oriented (TEO) governor (for tickless systems)"29 help30 This governor implements a simplified idle state selection method31 focused on timer events and does not do any interactivity boosting.32 33 Some workloads benefit from using it and it generally should be safe34 to use. Say Y here if you are not happy with the alternatives.35 36config CPU_IDLE_GOV_HALTPOLL37 bool "Haltpoll governor (for virtualized systems)"38 depends on KVM_GUEST39 help40 This governor implements haltpoll idle state selection, to be41 used in conjunction with the haltpoll cpuidle driver, allowing42 for polling for a certain amount of time before entering idle43 state.44 45 Some virtualized workloads benefit from using it.46 47config DT_IDLE_STATES48 bool49 50config DT_IDLE_GENPD51 depends on PM_GENERIC_DOMAINS_OF52 bool53 54menu "ARM CPU Idle Drivers"55depends on ARM || ARM6456source "drivers/cpuidle/Kconfig.arm"57endmenu58 59menu "MIPS CPU Idle Drivers"60depends on MIPS61source "drivers/cpuidle/Kconfig.mips"62endmenu63 64menu "POWERPC CPU Idle Drivers"65depends on PPC66source "drivers/cpuidle/Kconfig.powerpc"67endmenu68 69menu "RISC-V CPU Idle Drivers"70depends on RISCV71source "drivers/cpuidle/Kconfig.riscv"72endmenu73 74config HALTPOLL_CPUIDLE75 tristate "Halt poll cpuidle driver"76 depends on X86 && KVM_GUEST77 select CPU_IDLE_GOV_HALTPOLL78 default y79 help80 This option enables halt poll cpuidle driver, which allows to poll81 before halting in the guest (more efficient than polling in the82 host via halt_poll_ns for some scenarios).83 84endif85 86config ARCH_NEEDS_CPU_IDLE_COUPLED87 def_bool n88endmenu89