![Daniel Lezcano](/assets/img/avatar_default.png)
Initially, the cpu_cooling device for ARM was changed by adding a new policy inserting idle cycles. The intel_powerclamp driver does a similar action. Instead of implementing idle injections privately in the cpu_cooling device, move the idle injection code in a dedicated framework and give the opportunity to other frameworks to make use of it. The framework relies on the smpboot kthreads which handles via its main loop the common code for hotplugging and [un]parking. This code was previously tested with the cpu cooling device and went through several iterations. It results now in split code and API exported in the header file. It was tested with the cpu cooling device with success. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> [ rjw: Rewrite of all comments ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
#
|
|
# Generic power capping sysfs interface configuration
|
|
#
|
|
|
|
menuconfig POWERCAP
|
|
bool "Generic powercap sysfs driver"
|
|
help
|
|
The power capping sysfs interface allows kernel subsystems to expose power
|
|
capping settings to user space in a consistent way. Usually, it consists
|
|
of multiple control types that determine which settings may be exposed and
|
|
power zones representing parts of the system that can be subject to power
|
|
capping.
|
|
|
|
If you want this code to be compiled in, say Y here.
|
|
|
|
if POWERCAP
|
|
# Client driver configurations go here.
|
|
config INTEL_RAPL
|
|
tristate "Intel RAPL Support"
|
|
depends on X86 && IOSF_MBI
|
|
default n
|
|
---help---
|
|
This enables support for the Intel Running Average Power Limit (RAPL)
|
|
technology which allows power limits to be enforced and monitored on
|
|
modern Intel processors (Sandy Bridge and later).
|
|
|
|
In RAPL, the platform level settings are divided into domains for
|
|
fine grained control. These domains include processor package, DRAM
|
|
controller, CPU core (Power Plance 0), graphics uncore (Power Plane
|
|
1), etc.
|
|
|
|
config IDLE_INJECT
|
|
bool "Idle injection framework"
|
|
depends on CPU_IDLE
|
|
default n
|
|
help
|
|
This enables support for the idle injection framework. It
|
|
provides a way to force idle periods on a set of specified
|
|
CPUs for power capping. Idle period can be injected
|
|
synchronously on a set of specified CPUs or alternatively
|
|
on a per CPU basis.
|
|
endif
|