OSDN Git Service

perf/x86/rapl: Move RAPL support to common x86 code
authorStephane Eranian <eranian@google.com>
Wed, 27 May 2020 22:46:55 +0000 (15:46 -0700)
committerIngo Molnar <mingo@kernel.org>
Thu, 28 May 2020 05:58:55 +0000 (07:58 +0200)
To prepare for support of both Intel and AMD RAPL.

As per the AMD PPR, Fam17h support Package RAPL counters to monitor power usage.
The RAPL counter operates as with Intel RAPL, and as such it is beneficial
to share the code.

No change in functionality.

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200527224659.206129-2-eranian@google.com
arch/x86/events/Kconfig
arch/x86/events/Makefile
arch/x86/events/intel/Makefile
arch/x86/events/rapl.c [moved from arch/x86/events/intel/rapl.c with 98% similarity]

index 9a7a144..4a809c6 100644 (file)
@@ -10,11 +10,11 @@ config PERF_EVENTS_INTEL_UNCORE
        available on NehalemEX and more modern processors.
 
 config PERF_EVENTS_INTEL_RAPL
-       tristate "Intel rapl performance events"
-       depends on PERF_EVENTS && CPU_SUP_INTEL && PCI
+       tristate "Intel/AMD rapl performance events"
+       depends on PERF_EVENTS && (CPU_SUP_INTEL || CPU_SUP_AMD) && PCI
        default y
        ---help---
-       Include support for Intel rapl performance events for power
+       Include support for Intel and AMD rapl performance events for power
        monitoring on modern processors.
 
 config PERF_EVENTS_INTEL_CSTATE
index 6f1d1fd..12c42eb 100644 (file)
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-y                                  += core.o probe.o
+obj-$(PERF_EVENTS_INTEL_RAPL)          += rapl.o
 obj-y                                  += amd/
 obj-$(CONFIG_X86_LOCAL_APIC)            += msr.o
 obj-$(CONFIG_CPU_SUP_INTEL)            += intel/
index 3468b0c..e67a588 100644 (file)
@@ -2,8 +2,6 @@
 obj-$(CONFIG_CPU_SUP_INTEL)            += core.o bts.o
 obj-$(CONFIG_CPU_SUP_INTEL)            += ds.o knc.o
 obj-$(CONFIG_CPU_SUP_INTEL)            += lbr.o p4.o p6.o pt.o
-obj-$(CONFIG_PERF_EVENTS_INTEL_RAPL)   += intel-rapl-perf.o
-intel-rapl-perf-objs                   := rapl.o
 obj-$(CONFIG_PERF_EVENTS_INTEL_UNCORE) += intel-uncore.o
 intel-uncore-objs                      := uncore.o uncore_nhmex.o uncore_snb.o uncore_snbep.o
 obj-$(CONFIG_PERF_EVENTS_INTEL_CSTATE) += intel-cstate.o
similarity index 98%
rename from arch/x86/events/intel/rapl.c
rename to arch/x86/events/rapl.c
index 9e1e141..3e6c01b 100644 (file)
@@ -1,11 +1,14 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Support Intel RAPL energy consumption counters
+ * Support Intel/AMD RAPL energy consumption counters
  * Copyright (C) 2013 Google, Inc., Stephane Eranian
  *
  * Intel RAPL interface is specified in the IA-32 Manual Vol3b
  * section 14.7.1 (September 2013)
  *
+ * AMD RAPL interface for Fam17h is described in the public PPR:
+ * https://bugzilla.kernel.org/show_bug.cgi?id=206537
+ *
  * RAPL provides more controls than just reporting energy consumption
  * however here we only expose the 3 energy consumption free running
  * counters (pp0, pkg, dram).
@@ -58,8 +61,8 @@
 #include <linux/nospec.h>
 #include <asm/cpu_device_id.h>
 #include <asm/intel-family.h>
-#include "../perf_event.h"
-#include "../probe.h"
+#include "perf_event.h"
+#include "probe.h"
 
 MODULE_LICENSE("GPL");