]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 9a7a1446cb3a0ebc4993f19b0c690ad4e5bd55e4..4a809c6cbd2f5d8d1b19b187b2a8a0fbfd95092d 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 6f1d1fde8b2dec09e9adfe9351c64d4b5fb9dc63..12c42eba77ec3a3ba54b9dcb8bfc709b55b967d1 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 3468b0c1dc7c9553a50eb65836ce777bf0e8ea64..e67a5886336c101b65c7a83769157fcf3fd3d648 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 9e1e141d22d33660225df93cbc1c26ea12e2343d..3e6c01b8e9969e68e5b72d2e1193cd3defcfd8e5 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");