| # 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 | |
| menu "S390 CPU Idle Drivers" | |
| depends on S390 | |
| source "drivers/cpuidle/Kconfig.s390" | |
| 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 # CPU_IDLE | |
| config ARCH_NEEDS_CPU_IDLE_COUPLED | |
| def_bool n | |
| endmenu |