Skip to content

Commit 2d281d8

Browse files
Jacob Panrafaeljw
authored andcommitted
PowerCap: Introduce Intel RAPL power capping driver
The Intel Running Average Power Limit (RAPL) technology provides platform software with the ability to monitor, control, and get notifications on power usage. This feature is present in all Sandy Bridge and later Intel processors. Newer models allow more fine grained controls to be applied. In RAPL, power control is divided into domains, which include package, DRAM controller, CPU core (Power Plane 0), graphics uncore (power plane 1), etc. The purpose of this driver is to expose the RAPL settings to userspace. Overall, RAPL fits in the new powercap class driver in that platform level power capping controls are exposed via this generic interface. This driver is based on an earlier patch from Zhang Rui. However, while the previous work was mainly focused on thermal monitoring the focus here is on the usability from user space perspective. References: https://lkml.org/lkml/2011/5/26/93 Signed-off-by: Srinivas Pandruvada <[email protected]> Signed-off-by: Jacob Pan <[email protected]> Reviewed-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent bfd1ff6 commit 2d281d8

File tree

3 files changed

+1409
-0
lines changed

3 files changed

+1409
-0
lines changed

drivers/powercap/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,18 @@ menuconfig POWERCAP
1515

1616
if POWERCAP
1717
# Client driver configurations go here.
18+
config INTEL_RAPL
19+
tristate "Intel RAPL Support"
20+
depends on X86
21+
default n
22+
---help---
23+
This enables support for the Intel Running Average Power Limit (RAPL)
24+
technology which allows power limits to be enforced and monitored on
25+
modern Intel processors (Sandy Bridge and later).
26+
27+
In RAPL, the platform level settings are divided into domains for
28+
fine grained control. These domains include processor package, DRAM
29+
controller, CPU core (Power Plance 0), graphics uncore (Power Plane
30+
1), etc.
1831

1932
endif

drivers/powercap/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
obj-$(CONFIG_POWERCAP) += powercap_sys.o
2+
obj-$(CONFIG_INTEL_RAPL) += intel_rapl.o

0 commit comments

Comments
 (0)