Messages in this thread Patch in this message | | | Date | Sat, 20 Oct 2012 01:23:58 -0700 | From | "tip-bot for Yan, Zheng" <> | Subject | [tip:perf/urgent] perf/x86: Disable uncore on virtualized CPUs |
| |
Commit-ID: a05123bdd1b9ba961ed262864924a5b3ee81afe8 Gitweb: http://git.kernel.org/tip/a05123bdd1b9ba961ed262864924a5b3ee81afe8 Author: Yan, Zheng <zheng.z.yan@intel.com> AuthorDate: Tue, 21 Aug 2012 17:08:37 +0800 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Sat, 20 Oct 2012 10:07:02 +0200
perf/x86: Disable uncore on virtualized CPUs
Initializing uncore PMU on virtualized CPU may hang the kernel. This is because kvm does not emulate the entire hardware. Thers are lots of uncore related MSRs, making kvm enumerate them all is a non-trival task. So just disable uncore on virtualized CPU.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Tested-by: Pekka Enberg <penberg@kernel.org> Cc: a.p.zijlstra@chello.nl Cc: eranian@google.com Cc: andi@firstfloor.org Cc: avi@redhat.com Link: http://lkml.kernel.org/r/1345540117-14164-1-git-send-email-zheng.z.yan@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org> --- arch/x86/kernel/cpu/perf_event_intel_uncore.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c index 99d96a4..5df8d32 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c @@ -2926,6 +2926,9 @@ static int __init intel_uncore_init(void) if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) return -ENODEV; + if (cpu_has_hypervisor) + return -ENODEV; + ret = uncore_pci_init(); if (ret) goto fail;
| |