Messages in this thread | | | Date | Fri, 29 May 2015 13:55:43 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] perf/x86/intel/rapl: Add support for Knights Landing (KNL) |
| |
On Tue, May 26, 2015 at 11:47:39AM -0700, Dasaratharaman Chandramouli wrote: > 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. >
Please also Cc the author of the code you're patching.
Cc: Stephane Eranian <eranian@google.com> > Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com> > --- > 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 999289b9..96633fb 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 = { > 1<<RAPL_IDX_RAM_NRG_STAT|\ > 1<<RAPL_IDX_PP1_NRG_STAT) > > +/* Knights Landing has PKG, RAM */ > +#define RAPL_IDX_KNL (1<<RAPL_IDX_PKG_NRG_STAT|\ > + 1<<RAPL_IDX_RAM_NRG_STAT) > + > /* > * event code: LSB 8 bits, passed in attr->config > * any other bit is reserved > @@ -487,6 +491,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;
break;
?
| |