[patch V2 00/28] x86/perf/intel/uncore|rapl: Fix error handling and sanitize pmu management

From: Thomas Gleixner
Date: Mon Feb 22 2016 - 06:16:44 EST


This series addresses the following issues:

- Add proper error handling to uncore and rapl drivers

- Get rid of the pseudo per cpuness of these drivers and do a proper per
package storage

- Allow them to be modular

In order to do proper per package storage I added a facility which sanity
checks the physical package id of the processors which is supplied by bios and
does a logical package id translation. That allows drivers to do allocations
for the maximum number of possible packages independent of possible BIOS
creativity.

Changes vs. V1:

- Add logical package management

- Drop the exit_box callbacks for modern processors. This needs to be
revisited on a case by case basis.

- Fixup and convert the rapl driver as well

Thanks,

tglx

---
arch/x86/Kconfig | 6
arch/x86/include/asm/processor.h | 2
arch/x86/include/asm/topology.h | 10
arch/x86/kernel/apic/apic.c | 14
arch/x86/kernel/cpu/Makefile | 7
arch/x86/kernel/cpu/common.c | 2
arch/x86/kernel/cpu/intel.c | 13
arch/x86/kernel/cpu/perf_event_intel_cqm.c | 34
arch/x86/kernel/cpu/perf_event_intel_rapl.c | 438 ++++++------
arch/x86/kernel/cpu/perf_event_intel_uncore.c | 694 ++++++++++----------
arch/x86/kernel/cpu/perf_event_intel_uncore.h | 51 +
arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c | 6
arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c | 14
arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c | 10
arch/x86/kernel/cpu/proc.c | 1
arch/x86/kernel/smpboot.c | 100 ++
b/arch/x86/Kconfig.perf | 23
include/linux/perf_event.h | 1
kernel/events/core.c | 1
lib/cpumask.c | 1
20 files changed, 827 insertions(+), 601 deletions(-)