[patch 00/11] x86/perf/intel_uncore: Cleanup and enhancements

From: Thomas Gleixner
Date: Wed Feb 17 2016 - 08:48:53 EST


While working on the hotplug rewrite I stumbled over the uncore drivers. The
intel_uncore driver particular is a complete trainwreck:

- Lacks any form of proper error handling. Most errors are simply ignored.

- Leaks memory and hardware state in case of failures

- Tries to mimick a per cpu machinery for a facility which is strictly per
package. That is implemented with convoluted alloc/free dancing during cpu
hotplug with magic loops over the online cpus

The series cleans up the mess

- Implement proper error handling

- Switch to a per package storage model

- Make MSR and PCI independent as far as it goes

- Allow it to build as a module

Thanks,

tglx
---
arch/x86/Kconfig | 14
arch/x86/include/asm/topology.h | 3
arch/x86/kernel/cpu/Makefile | 3
arch/x86/kernel/cpu/perf_event_intel_uncore.c | 587 +++++++++-----------
arch/x86/kernel/cpu/perf_event_intel_uncore.h | 24
arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c | 6
arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c | 13
arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c | 57 +
lib/cpumask.c | 1
9 files changed, 400 insertions(+), 308 deletions(-)