[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(-)