Commit-ID: 3a2a7797326a4bc59b7ff0cc92c8b274abf21892
Gitweb: http://git.kernel.org/tip/3a2a7797326a4bc59b7ff0cc92c8b274abf21892
Author: Dasaratharaman Chandramouli dasaratharaman.chandramo...@intel.com
AuthorDate: Tue, 26 May 2015 11:47:39 -0700
Committer: Ingo Molnar mi...@kernel.org
CommitDate: Tue, 4 Aug 2015 10:16:52 +0200
perf/x86/intel/rapl: Add support for Knights Landing (KNL)
Knights Landing DRAM RAPL supports PKG and DRAM RAPL domains.
DRAM RAPL has a different fixed energy unit (2^-16J) similar to
that of HSW.
Signed-off-by: Dasaratharaman Chandramouli
dasaratharaman.chandramo...@intel.com
Signed-off-by: Peter Zijlstra (Intel) pet...@infradead.org
Acked-by: Stephane Eranian eran...@google.com
Acked-by: Jacob Pan jacob.jun@linux.intel.com
Cc: Arnaldo Carvalho de Melo a...@kernel.org
Cc: H. Peter Anvin h...@zytor.com
Cc: Jacob Pan Jun jacob.jun@linux.intel.com
Cc: Linus Torvalds torva...@linux-foundation.org
Cc: Nikhil Rao nikhil@intel.com
Cc: Paul Mackerras pau...@samba.org
Cc: Peter Zijlstra pet...@infradead.org
Cc: Thomas Gleixner t...@linutronix.de
Link:
http://lkml.kernel.org/r/aa63b4a3af3160152fea1a10c807f4200527280c.1432665809.git.dasaratharaman.chandramo...@intel.com
Signed-off-by: Ingo Molnar mi...@kernel.org
---
arch/x86/kernel/cpu/perf_event_intel_rapl.c | 20
1 file changed, 20 insertions(+)
diff --git a/arch/x86/kernel/cpu/perf_event_intel_rapl.c
b/arch/x86/kernel/cpu/perf_event_intel_rapl.c
index 5cbd4e6..81431c0 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_rapl.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_rapl.c
@@ -86,6 +86,10 @@ static const char *rapl_domain_names[NR_RAPL_DOMAINS]
__initconst = {
1RAPL_IDX_RAM_NRG_STAT|\
1RAPL_IDX_PP1_NRG_STAT)
+/* Knights Landing has PKG, RAM */
+#define RAPL_IDX_KNL (1RAPL_IDX_PKG_NRG_STAT|\
+1RAPL_IDX_RAM_NRG_STAT)
+
/*
* event code: LSB 8 bits, passed in attr-config
* any other bit is reserved
@@ -486,6 +490,18 @@ static struct attribute *rapl_events_hsw_attr[] = {
NULL,
};
+static struct attribute *rapl_events_knl_attr[] = {
+ EVENT_PTR(rapl_pkg),
+ EVENT_PTR(rapl_ram),
+
+ EVENT_PTR(rapl_pkg_unit),
+ EVENT_PTR(rapl_ram_unit),
+
+ EVENT_PTR(rapl_pkg_scale),
+ EVENT_PTR(rapl_ram_scale),
+ NULL,
+};
+
static struct attribute_group rapl_pmu_events_group = {
.name = events,
.attrs = NULL, /* patched at runtime */
@@ -730,6 +746,10 @@ static int __init rapl_pmu_init(void)
rapl_cntr_mask = RAPL_IDX_SRV;
rapl_pmu_events_group.attrs = rapl_events_srv_attr;
break;
+ case 87: /* Knights Landing */
+ rapl_add_quirk(rapl_hsw_server_quirk);
+ rapl_cntr_mask = RAPL_IDX_KNL;
+ rapl_pmu_events_group.attrs = rapl_events_knl_attr;
default:
/* unsupported */
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/