Skip to content
Commit 1d9d8639 authored by Stephane Eranian's avatar Stephane Eranian Committed by Linus Torvalds
Browse files

perf,x86: fix kernel crash with PEBS/BTS after suspend/resume



This patch fixes a kernel crash when using precise sampling (PEBS)
after a suspend/resume. Turns out the CPU notifier code is not invoked
on CPU0 (BP). Therefore, the DS_AREA (used by PEBS) is not restored properly
by the kernel and keeps it power-on/resume value of 0 causing any PEBS
measurement to crash when running on CPU0.

The workaround is to add a hook in the actual resume code to restore
the DS Area MSR value. It is invoked for all CPUS. So for all but CPU0,
the DS_AREA will be restored twice but this is harmless.

Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarStephane Eranian <eranian@google.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a2362d24
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment