aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/builtin-kmem.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index 7cbb5eb15101..513aa8a55db6 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -363,6 +363,7 @@ static void __print_result(struct rb_root *root, struct perf_session *session,
363 struct alloc_stat *data = rb_entry(next, struct alloc_stat, 363 struct alloc_stat *data = rb_entry(next, struct alloc_stat,
364 node); 364 node);
365 struct symbol *sym = NULL; 365 struct symbol *sym = NULL;
366 struct map *map;
366 char buf[BUFSIZ]; 367 char buf[BUFSIZ];
367 u64 addr; 368 u64 addr;
368 369
@@ -370,13 +371,13 @@ static void __print_result(struct rb_root *root, struct perf_session *session,
370 addr = data->call_site; 371 addr = data->call_site;
371 if (!raw_ip) 372 if (!raw_ip)
372 sym = map_groups__find_function(&session->kmaps, 373 sym = map_groups__find_function(&session->kmaps,
373 addr, NULL, NULL); 374 addr, &map, NULL);
374 } else 375 } else
375 addr = data->ptr; 376 addr = data->ptr;
376 377
377 if (sym != NULL) 378 if (sym != NULL)
378 snprintf(buf, sizeof(buf), "%s+%Lx", sym->name, 379 snprintf(buf, sizeof(buf), "%s+%Lx", sym->name,
379 addr - sym->start); 380 addr - map->unmap_ip(map, sym->start));
380 else 381 else
381 snprintf(buf, sizeof(buf), "%#Lx", addr); 382 snprintf(buf, sizeof(buf), "%#Lx", addr);
382 printf(" %-34s |", buf); 383 printf(" %-34s |", buf);