David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 2 | # |
| 3 | # Generic power capping sysfs interface configuration |
| 4 | # |
| 5 | |
| 6 | menuconfig POWERCAP |
| 7 | bool "Generic powercap sysfs driver" |
| 8 | help |
| 9 | The power capping sysfs interface allows kernel subsystems to expose power |
| 10 | capping settings to user space in a consistent way. Usually, it consists |
| 11 | of multiple control types that determine which settings may be exposed and |
| 12 | power zones representing parts of the system that can be subject to power |
| 13 | capping. |
| 14 | |
| 15 | If you want this code to be compiled in, say Y here. |
| 16 | |
| 17 | if POWERCAP |
| 18 | # Client driver configurations go here. |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 19 | config INTEL_RAPL_CORE |
| 20 | tristate |
| 21 | |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 22 | config INTEL_RAPL |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 23 | tristate "Intel RAPL Support via MSR Interface" |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 24 | depends on X86 && IOSF_MBI |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 25 | select INTEL_RAPL_CORE |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 26 | ---help--- |
| 27 | This enables support for the Intel Running Average Power Limit (RAPL) |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 28 | technology via MSR interface, which allows power limits to be enforced |
| 29 | and monitored on modern Intel processors (Sandy Bridge and later). |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 30 | |
| 31 | In RAPL, the platform level settings are divided into domains for |
| 32 | fine grained control. These domains include processor package, DRAM |
| 33 | controller, CPU core (Power Plance 0), graphics uncore (Power Plane |
| 34 | 1), etc. |
| 35 | |
| 36 | config IDLE_INJECT |
| 37 | bool "Idle injection framework" |
| 38 | depends on CPU_IDLE |
| 39 | default n |
| 40 | help |
| 41 | This enables support for the idle injection framework. It |
| 42 | provides a way to force idle periods on a set of specified |
| 43 | CPUs for power capping. Idle period can be injected |
| 44 | synchronously on a set of specified CPUs or alternatively |
| 45 | on a per CPU basis. |
| 46 | endif |