diff options
Diffstat (limited to 'tools/perf/builtin-report.c')
-rw-r--r-- | tools/perf/builtin-report.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 135b7837e6bf..88e88c510ae5 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
@@ -1213,6 +1213,7 @@ process_sample_event(event_t *event, unsigned long offset, unsigned long head) | |||
1213 | struct map *map = NULL; | 1213 | struct map *map = NULL; |
1214 | void *more_data = event->ip.__more_data; | 1214 | void *more_data = event->ip.__more_data; |
1215 | struct ip_callchain *chain = NULL; | 1215 | struct ip_callchain *chain = NULL; |
1216 | int cpumode; | ||
1216 | 1217 | ||
1217 | if (sample_type & PERF_SAMPLE_PERIOD) { | 1218 | if (sample_type & PERF_SAMPLE_PERIOD) { |
1218 | period = *(u64 *)more_data; | 1219 | period = *(u64 *)more_data; |
@@ -1256,7 +1257,9 @@ process_sample_event(event_t *event, unsigned long offset, unsigned long head) | |||
1256 | if (comm_list && !strlist__has_entry(comm_list, thread->comm)) | 1257 | if (comm_list && !strlist__has_entry(comm_list, thread->comm)) |
1257 | return 0; | 1258 | return 0; |
1258 | 1259 | ||
1259 | if (event->header.misc & PERF_EVENT_MISC_KERNEL) { | 1260 | cpumode = event->header.misc & PERF_EVENT_MISC_CPUMODE_MASK; |
1261 | |||
1262 | if (cpumode == PERF_EVENT_MISC_KERNEL) { | ||
1260 | show = SHOW_KERNEL; | 1263 | show = SHOW_KERNEL; |
1261 | level = 'k'; | 1264 | level = 'k'; |
1262 | 1265 | ||
@@ -1264,7 +1267,7 @@ process_sample_event(event_t *event, unsigned long offset, unsigned long head) | |||
1264 | 1267 | ||
1265 | dprintf(" ...... dso: %s\n", dso->name); | 1268 | dprintf(" ...... dso: %s\n", dso->name); |
1266 | 1269 | ||
1267 | } else if (event->header.misc & PERF_EVENT_MISC_USER) { | 1270 | } else if (cpumode == PERF_EVENT_MISC_USER) { |
1268 | 1271 | ||
1269 | show = SHOW_USER; | 1272 | show = SHOW_USER; |
1270 | level = '.'; | 1273 | level = '.'; |