Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "CPU Idle"
0003 
0004 config CPU_IDLE
0005         bool "CPU idle PM support"
0006         default y if ACPI || PPC_PSERIES
0007         select CPU_IDLE_GOV_LADDER if (!NO_HZ && !NO_HZ_IDLE)
0008         select CPU_IDLE_GOV_MENU if (NO_HZ || NO_HZ_IDLE) && !CPU_IDLE_GOV_TEO
0009         help
0010           CPU idle is a generic framework for supporting software-controlled
0011           idle processor power management.  It includes modular cross-platform
0012           governors that can be swapped during runtime.
0013 
0014           If you're using an ACPI-enabled platform, you should say Y here.
0015 
0016 if CPU_IDLE
0017 
0018 config CPU_IDLE_MULTIPLE_DRIVERS
0019         bool
0020 
0021 config CPU_IDLE_GOV_LADDER
0022         bool "Ladder governor (for periodic timer tick)"
0023 
0024 config CPU_IDLE_GOV_MENU
0025         bool "Menu governor (for tickless system)"
0026 
0027 config CPU_IDLE_GOV_TEO
0028         bool "Timer events oriented (TEO) governor (for tickless systems)"
0029         help
0030           This governor implements a simplified idle state selection method
0031           focused on timer events and does not do any interactivity boosting.
0032 
0033           Some workloads benefit from using it and it generally should be safe
0034           to use.  Say Y here if you are not happy with the alternatives.
0035 
0036 config CPU_IDLE_GOV_HALTPOLL
0037         bool "Haltpoll governor (for virtualized systems)"
0038         depends on KVM_GUEST
0039         help
0040           This governor implements haltpoll idle state selection, to be
0041           used in conjunction with the haltpoll cpuidle driver, allowing
0042           for polling for a certain amount of time before entering idle
0043           state.
0044 
0045           Some virtualized workloads benefit from using it.
0046 
0047 config DT_IDLE_STATES
0048         bool
0049 
0050 config DT_IDLE_GENPD
0051         depends on PM_GENERIC_DOMAINS_OF
0052         bool
0053 
0054 menu "ARM CPU Idle Drivers"
0055 depends on ARM || ARM64
0056 source "drivers/cpuidle/Kconfig.arm"
0057 endmenu
0058 
0059 menu "MIPS CPU Idle Drivers"
0060 depends on MIPS
0061 source "drivers/cpuidle/Kconfig.mips"
0062 endmenu
0063 
0064 menu "POWERPC CPU Idle Drivers"
0065 depends on PPC
0066 source "drivers/cpuidle/Kconfig.powerpc"
0067 endmenu
0068 
0069 menu "RISC-V CPU Idle Drivers"
0070 depends on RISCV
0071 source "drivers/cpuidle/Kconfig.riscv"
0072 endmenu
0073 
0074 config HALTPOLL_CPUIDLE
0075         tristate "Halt poll cpuidle driver"
0076         depends on X86 && KVM_GUEST
0077         default y
0078         help
0079          This option enables halt poll cpuidle driver, which allows to poll
0080          before halting in the guest (more efficient than polling in the
0081          host via halt_poll_ns for some scenarios).
0082 
0083 endif
0084 
0085 config ARCH_NEEDS_CPU_IDLE_COUPLED
0086         def_bool n
0087 endmenu