123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- # 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 CPU_IDLE_GOV_QCOM_LPM
- tristate "Qualcomm Technologies, Inc. CPU and Cluster governor"
- depends on ARCH_QCOM
- depends on ARM_PSCI_CPUIDLE
- help
- This governor implements effective cpu and cluster idle state
- selection with help of scheduler inputs, cpu idle state prediction
- and cluster idle state prediction algorithms.
- The predicted sleep time, latency requirement for the
- CPU and the idle state chosen based on the parameters are all
- logged in the trace.
- config CPU_IDLE_SIMPLE_GOV_QCOM_LPM
- tristate "Qualcomm Technologies, Inc. CPU and Cluster simple governor"
- depends on ARCH_QCOM
- depends on ARM_PSCI_CPUIDLE
- help
- This governor allows the cpu and cluster to deeper idle states more aggressively
- by reducing cpuidle parameters such as the entry, exit latencies and the residency.
- This provides the provision to user to update cpuidle parameters so that it can
- allow or restrict particular Idle state more aggressively.
- 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
- 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
|