| # SPDX-License-Identifier: GPL-2.0-only |
| menu "CPU Idle" |
| |
| config CPU_IDLE |
| bool "CPU idle PM support" |
| default y if ACPI || PPC_PSERIES |
| select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE) |
| select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO |
| help |
| CPU idle is a generic framework for supporting software-controlled |
| idle processor power management. It includes modular cross-platform |
| governors that can be swapped during runtime. |
| |
| If you're using an ACPI-enabled platform, you should say Y here. |
| |
| if CPU_IDLE |
| |
| config CPU_IDLE_MULTIPLE_DRIVERS |
| bool |
| |
| config CPU_IDLE_GOV_LADDER |
| bool "Ladder governor (for periodic timer tick)" |
| |
| config CPU_IDLE_GOV_MENU |
| bool "Menu governor (for tickless system)" |
| |
| config CPU_IDLE_GOV_TEO |
| bool "Timer events oriented (TEO) governor (for tickless systems)" |
| help |
| This governor implements a simplified idle state selection method |
| focused on timer events and does not do any interactivity boosting. |
| |
| Some workloads benefit from using it and it generally should be safe |
| to use. Say Y here if you are not happy with the alternatives. |
| |
| config CPU_IDLE_GOV_HALTPOLL |
| bool "Haltpoll governor (for virtualized systems)" |
| depends on KVM_GUEST |
| help |
| This governor implements haltpoll idle state selection, to be |
| used in conjunction with the haltpoll cpuidle driver, allowing |
| for polling for a certain amount of time before entering idle |
| state. |
| |
| Some virtualized workloads benefit from using it. |
| |
| config DT_IDLE_STATES |
| bool |
| |
| config DT_IDLE_GENPD |
| depends on PM_GENERIC_DOMAINS_OF |
| bool |
| |
| menu "ARM CPU Idle Drivers" |
| depends on ARM || ARM64 |
| source "drivers/cpuidle/Kconfig.arm" |
| endmenu |
| |
| menu "MIPS CPU Idle Drivers" |
| depends on MIPS |
| source "drivers/cpuidle/Kconfig.mips" |
| endmenu |
| |
| menu "POWERPC CPU Idle Drivers" |
| depends on PPC |
| source "drivers/cpuidle/Kconfig.powerpc" |
| endmenu |
| |
| menu "RISC-V CPU Idle Drivers" |
| depends on RISCV |
| source "drivers/cpuidle/Kconfig.riscv" |
| endmenu |
| |
| config HALTPOLL_CPUIDLE |
| tristate "Halt poll cpuidle driver" |
| depends on X86 && KVM_GUEST |
| select CPU_IDLE_GOV_HALTPOLL |
| default y |
| help |
| This option enables halt poll cpuidle driver, which allows to poll |
| before halting in the guest (more efficient than polling in the |
| host via halt_poll_ns for some scenarios). |
| |
| endif |
| |
| config ARCH_NEEDS_CPU_IDLE_COUPLED |
| def_bool n |
| endmenu |