diff options
| author | Peter Zijlstra <[email protected]> | 2010-12-08 14:56:23 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2010-12-16 10:36:42 +0000 |
| commit | 4407204c5c9037763aadce39b025529dfbfcac9e (patch) | |
| tree | e9493f1e9f485c5299a07d5b618b6c983029aa65 /tools/perf/scripts/python/futex-contention.py | |
| parent | Merge branch 'perf/urgent' into perf/core (diff) | |
| download | kernel-4407204c5c9037763aadce39b025529dfbfcac9e.tar.gz kernel-4407204c5c9037763aadce39b025529dfbfcac9e.zip | |
perf, x86: Detect broken BIOSes that corrupt the PMU
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: Peter Zijlstra <[email protected]>
Cc: Jason Wessel <[email protected]>
Cc: Don Zickus <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/futex-contention.py')
0 files changed, 0 insertions, 0 deletions
