1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2b98e01adSSaharamenu "CPU Idle" 34f86d3a8SLen Brown 4b98e01adSSaharaconfig CPU_IDLE 54f86d3a8SLen Brown bool "CPU idle PM support" 6aa491ad3SBenjamin Herrenschmidt default y if ACPI || PPC_PSERIES 7d6f346f2SDaniel Lezcano select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE) 8b26bf6abSRafael J. Wysocki select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO 94f86d3a8SLen Brown help 104f86d3a8SLen Brown CPU idle is a generic framework for supporting software-controlled 114f86d3a8SLen Brown idle processor power management. It includes modular cross-platform 124f86d3a8SLen Brown governors that can be swapped during runtime. 134f86d3a8SLen Brown 1460555e37Slen.brown@intel.com If you're using an ACPI-enabled platform, you should say Y here. 154f86d3a8SLen Brown 16d6f346f2SDaniel Lezcanoif CPU_IDLE 17d6f346f2SDaniel Lezcano 18bf4d1b5dSDaniel Lezcanoconfig CPU_IDLE_MULTIPLE_DRIVERS 193a4a267eSDaniel Lezcano bool 20bf4d1b5dSDaniel Lezcano 214f86d3a8SLen Brownconfig CPU_IDLE_GOV_LADDER 22d6f346f2SDaniel Lezcano bool "Ladder governor (for periodic timer tick)" 234f86d3a8SLen Brown 244f86d3a8SLen Brownconfig CPU_IDLE_GOV_MENU 25d6f346f2SDaniel Lezcano bool "Menu governor (for tickless system)" 264126c019SColin Cross 27b26bf6abSRafael J. Wysockiconfig CPU_IDLE_GOV_TEO 28b26bf6abSRafael J. Wysocki bool "Timer events oriented (TEO) governor (for tickless systems)" 29b26bf6abSRafael J. Wysocki help 30b26bf6abSRafael J. Wysocki This governor implements a simplified idle state selection method 31b26bf6abSRafael J. Wysocki focused on timer events and does not do any interactivity boosting. 32b26bf6abSRafael J. Wysocki 33b26bf6abSRafael J. Wysocki Some workloads benefit from using it and it generally should be safe 34b26bf6abSRafael J. Wysocki to use. Say Y here if you are not happy with the alternatives. 35b26bf6abSRafael J. Wysocki 36*2cffe9f6SMarcelo Tosatticonfig CPU_IDLE_GOV_HALTPOLL 37*2cffe9f6SMarcelo Tosatti bool "Haltpoll governor (for virtualized systems)" 38*2cffe9f6SMarcelo Tosatti depends on KVM_GUEST 39*2cffe9f6SMarcelo Tosatti help 40*2cffe9f6SMarcelo Tosatti This governor implements haltpoll idle state selection, to be 41*2cffe9f6SMarcelo Tosatti used in conjunction with the haltpoll cpuidle driver, allowing 42*2cffe9f6SMarcelo Tosatti for polling for a certain amount of time before entering idle 43*2cffe9f6SMarcelo Tosatti state. 44*2cffe9f6SMarcelo Tosatti 45*2cffe9f6SMarcelo Tosatti Some virtualized workloads benefit from using it. 46*2cffe9f6SMarcelo Tosatti 479f14da34SLorenzo Pieralisiconfig DT_IDLE_STATES 489f14da34SLorenzo Pieralisi bool 499f14da34SLorenzo Pieralisi 50b98e01adSSaharamenu "ARM CPU Idle Drivers" 510e087044SDaniel Lezcanodepends on ARM || ARM64 52b98e01adSSaharasource "drivers/cpuidle/Kconfig.arm" 53b98e01adSSaharaendmenu 54bd2a337aSMichal Simek 55d0508944SPaul Burtonmenu "MIPS CPU Idle Drivers" 56d0508944SPaul Burtondepends on MIPS 57d0508944SPaul Burtonsource "drivers/cpuidle/Kconfig.mips" 58d0508944SPaul Burtonendmenu 59d0508944SPaul Burton 60962e7bd4SDeepthi Dharwarmenu "POWERPC CPU Idle Drivers" 61962e7bd4SDeepthi Dharwardepends on PPC 62962e7bd4SDeepthi Dharwarsource "drivers/cpuidle/Kconfig.powerpc" 63962e7bd4SDeepthi Dharwarendmenu 64962e7bd4SDeepthi Dharwar 65fa86ee90SMarcelo Tosatticonfig HALTPOLL_CPUIDLE 66fa86ee90SMarcelo Tosatti tristate "Halt poll cpuidle driver" 67fa86ee90SMarcelo Tosatti depends on X86 && KVM_GUEST 68fa86ee90SMarcelo Tosatti default y 69fa86ee90SMarcelo Tosatti help 70fa86ee90SMarcelo Tosatti This option enables halt poll cpuidle driver, which allows to poll 71fa86ee90SMarcelo Tosatti before halting in the guest (more efficient than polling in the 72fa86ee90SMarcelo Tosatti host via halt_poll_ns for some scenarios). 73fa86ee90SMarcelo Tosatti 74be6a98d3SRob Herringendif 75b39b0981SDaniel Lezcano 76b39b0981SDaniel Lezcanoconfig ARCH_NEEDS_CPU_IDLE_COUPLED 77b39b0981SDaniel Lezcano def_bool n 78b98e01adSSaharaendmenu 79