From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754805AbcBVLPw (ORCPT ); Mon, 22 Feb 2016 06:15:52 -0500 Received: from www.linutronix.de ([62.245.132.108]:33076 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754546AbcBVLID (ORCPT ); Mon, 22 Feb 2016 06:08:03 -0500 Message-Id: <20160222110337.198341739@linutronix.de> User-Agent: quilt/0.63-1 Date: Mon, 22 Feb 2016 11:06:42 -0000 From: Thomas Gleixner To: LKML Cc: Peter Zijlstra , x86@kernel.org, Borislav Petkov , Stephane Eranian , Harish Chegondi , Kan Liang , Andi Kleen , Jacob Pan Subject: [patch V2 00/28] x86/perf/intel/uncore|rapl: Fix error handling and sanitize pmu management X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-)