linux/arch/x86/events/intel
Thomas Gleixner cf6d445f68 perf/x86/uncore: Track packages, not per CPU data
Uncore is a per package facility, but the code tries to mimick a per CPU
facility with completely convoluted constructs.

Simplify the whole machinery by tracking per package information. While at it,
avoid the kfree/alloc dance when a CPU goes offline and online again. There is
no point in freeing the box after it was allocated. We just keep proper
refcounting and the first CPU which comes online in a package does the
initialization/activation of the box.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andi Kleen <andi.kleen@intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Harish Chegondi <harish.chegondi@intel.com>
Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/20160222221011.622258933@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-29 09:35:18 +01:00
..
bts.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
core.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
cqm.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
cstate.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
ds.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
knc.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
lbr.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
p4.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
p6.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
pt.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
pt.h perf/x86: Move perf_event_intel_pt.[ch] ...... => x86/events/intel/pt.[ch] 2016-02-17 10:09:47 +01:00
rapl.c perf/x86: Move perf_event.h to its new home 2016-02-17 10:11:36 +01:00
uncore_nhmex.c perf/x86/intel/uncore: Clean up hardware on exit 2016-02-29 09:35:15 +01:00
uncore_snb.c perf/x86/intel/uncore: Store box in event->pmu_private 2016-02-29 09:35:17 +01:00
uncore_snbep.c perf/x86/uncore: Track packages, not per CPU data 2016-02-29 09:35:18 +01:00
uncore.c perf/x86/uncore: Track packages, not per CPU data 2016-02-29 09:35:18 +01:00
uncore.h perf/x86/uncore: Track packages, not per CPU data 2016-02-29 09:35:18 +01:00