Messages in this thread | | | Date | Wed, 17 Feb 2016 13:47:31 -0000 | From | Thomas Gleixner <> | Subject | [patch 00/11] x86/perf/intel_uncore: Cleanup and enhancements |
| |
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(-)
| |