projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9e85a6f
)
perf/x86: Fix USER/KERNEL tagging of samples
author
Peter Zijlstra
<
[email protected]
>
Wed, 20 Jun 2012 09:11:38 +0000
(11:11 +0200)
committer
Ingo Molnar
<
[email protected]
>
Thu, 5 Jul 2012 18:59:07 +0000
(20:59 +0200)
Several perf interrupt handlers (PEBS,IBS,BTS) re-write regs->ip but
do not update the segment registers. So use an regs->ip based test
instead of an regs->cs/regs->flags based test.
Reported-and-tested-by: Stephane Eranian <
[email protected]
>
Signed-off-by: Peter Zijlstra <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Andrew Morton <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Cc: Frederic Weisbecker <
[email protected]
>
Link:
http://lkml.kernel.org/n/
[email protected]
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/kernel/cpu/perf_event.c
patch
|
blob
|
history
diff --git
a/arch/x86/kernel/cpu/perf_event.c
b/arch/x86/kernel/cpu/perf_event.c
index c4706cf9c011d8fd068d205ed0b669142c112400..6ef9d41b87f98ef374c8d2255a081d95ea9df227 100644
(file)
--- a/
arch/x86/kernel/cpu/perf_event.c
+++ b/
arch/x86/kernel/cpu/perf_event.c
@@
-1863,7
+1863,7
@@
unsigned long perf_misc_flags(struct pt_regs *regs)
else
misc |= PERF_RECORD_MISC_GUEST_KERNEL;
} else {
- if (
user_mode(regs
))
+ if (
!kernel_ip(regs->ip
))
misc |= PERF_RECORD_MISC_USER;
else
misc |= PERF_RECORD_MISC_KERNEL;