• Palik, Imre's avatar
    perf/x86: Honor the architectural performance monitoring version · ad0fd1a5
    Palik, Imre authored
    commit 2c33645d
    
     upstream.
    
    Architectural performance monitoring, version 1, doesn't support fixed counters.
    
    Currently, even if a hypervisor advertises support for architectural
    performance monitoring version 1, perf may still try to use the fixed
    counters, as the constraints are set up based on the CPU model.
    
    This patch ensures that perf honors the architectural performance monitoring
    version returned by CPUID, and it only uses the fixed counters for version 2
    and above.
    
    (Some of the ideas in this patch came from Peter Zijlstra.)
    Signed-off-by: default avatarImre Palik <imrep@amazon.de>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Anthony Liguori <aliguori@amazon.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1433767609-1039-1-git-send-email-imrep.amz@gmail.com
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    [wt: FIXED_EVENT_FLAGS was X86_RAW_EVENT_MASK in 3.10]
    Cc: Kevin Christopher <kevinc@vmware.com>
    Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
    ad0fd1a5
perf_event_intel.c 62 KB