• Peter Zijlstra's avatar
    perf, x86: Detect broken BIOSes that corrupt the PMU · 4407204c
    Peter Zijlstra authored
    Some BIOSes use PMU resources, which can cause various bugs:
    
     - Non-working or erratic PMU based statistics - the PMU can end up
       counting the wrong thing, resulting in misleading statistics
    
     - Profiling can stop working or it can profile the wrong thing
    
     - A non-working or erratic NMI watchdog that cannot be relied on
    
     - The kernel may disturb whatever thing the BIOS tries to use the
       PMU for - possibly causing hardware malfunction in extreme cases.
    
     - ... and other forms of potential misbehavior
    
    Various forms of such misbehavior has been observed in practice - there are
    BIOSes that just corrupt the PMU state, consequences be damned.
    
    The PMU is a CPU resource that is handled by the kernel and the BIOS
    stealing+corrupting it is not acceptable nor robust, so we detect it,
    warn about it and further refuse to touch the PMU ourselves.
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Jason Wessel <jason.wessel@windriver.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    4407204c
perf_event.c 40.3 KB