Re: [PATCH 1/1] Introduce Intel RAPL cooling device driver

From: Randy Dunlap
Date: Tue Apr 02 2013 - 18:43:27 EST


On 04/02/13 15:15, Jacob Pan wrote:
> RAPL(Running Average Power Limit) interface provides platform software
> with the ability to monitor, control, and get notifications on SOC
> power consumptions. Since its first appearance on Sandy Bridge, more
> features have being added to extend its usage. In RAPL, platforms are
> divided into domains for fine grained control. These domains include
> package, DRAM controller, CPU core (Power Plane 0), graphics uncore
> (power plane 1), etc.
>
> The purpose of this driver is to expose RAPL for userspace
> consumption. Overall, RAPL fits in the generic thermal layer in
> that platform level power capping and monitoring are mainly used for
> thermal management and thermal layer provides the abstracted interface
> needed to have portable applications.
>
> Specifically, userspace is presented with per domain cooling device
> with sysfs links to its kobject. Although RAPL domain provides many
> parameters for fine tuning, long term power limit is exposed as the
> single knob via cooling device state. Whereas the rest of the
> parameters are still accessible via the linked kobject. This simplifies
> the interface for both simple and advanced use cases.
>
> Eventfd is used to provide notifications to the userspace. At per domain
> level, use can choose any event capable parameters to register for
> threshold crossing notifications. This is shamelessly "borrowed" from
> cgroup with some trimming/fitting.
>
> Zhang, Rui's initial RAPL driver was used as a reference and starting
> point. Many thanks.
> https://lkml.org/lkml/2011/5/26/93
>
> Unlike the patch above, which is mainly for monitoring, this driver
> focus on the control and usability by user applications.
>
> Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
> ---
> drivers/platform/x86/Kconfig | 8 +
> drivers/platform/x86/Makefile | 1 +
> drivers/platform/x86/intel_rapl.c | 1323 +++++++++++++++++++++++++++++++++++++
> drivers/platform/x86/intel_rapl.h | 249 +++++++
> 4 files changed, 1581 insertions(+)
> create mode 100644 drivers/platform/x86/intel_rapl.c
> create mode 100644 drivers/platform/x86/intel_rapl.h
>
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index 3338437..34bcd52 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -781,4 +781,12 @@ config APPLE_GMUX
> graphics as well as the backlight. Currently only backlight
> control is supported by the driver.
>
> +config INTEL_RAPL
> + tristate "Intel RAPL Support"
> + depends on X86 && THERMAL
> + default y
> + ---help---
> + RAPL, AKA, Running Average Power Limit provides mechanisms to enforce

RAPL, aka Running Average Power Limit, provides mechanisms to enforce

or a.k.a., but not AKA

or even:
RAPL (Running Average Power Limit) provides mechanisms to enforce


> + and monitor per domain power consumption limits of supported Intel CPUs.
> +
> endif # X86_PLATFORM_DEVICES


--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/