perf: Fix hypervisor sample reporting
cpumode bits are defined as such: #define PERF_RECORD_MISC_KERNEL (1 << 0) #define PERF_RECORD_MISC_USER (2 << 0) #define PERF_RECORD_MISC_HYPERVISOR (3 << 0) We need to compare against the complete value of cpumode, otherwise hypervisor samples get incorrectly attributed as userspace. Signed-off-by: Anton Blanchard <anton@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: fweisbec@gmail.com LKML-Reference: <20100209034304.GA3702@kryten> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
cd757645fb
commit
7fbfc683f1
@ -295,10 +295,10 @@ void thread__find_addr_location(struct thread *self,
|
||||
al->thread = self;
|
||||
al->addr = addr;
|
||||
|
||||
if (cpumode & PERF_RECORD_MISC_KERNEL) {
|
||||
if (cpumode == PERF_RECORD_MISC_KERNEL) {
|
||||
al->level = 'k';
|
||||
mg = &session->kmaps;
|
||||
} else if (cpumode & PERF_RECORD_MISC_USER)
|
||||
} else if (cpumode == PERF_RECORD_MISC_USER)
|
||||
al->level = '.';
|
||||
else {
|
||||
al->level = 'H';
|
||||
|
Loading…
Reference in New Issue
Block a user