diff options
Diffstat (limited to 'tools/perf/ui/browsers/hists.c')
-rw-r--r-- | tools/perf/ui/browsers/hists.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index f556e5f6388b..482f0517b61e 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c | |||
@@ -1367,7 +1367,7 @@ static void perf_evsel_menu__write(struct ui_browser *browser, | |||
1367 | struct perf_evsel *evsel = list_entry(entry, struct perf_evsel, node); | 1367 | struct perf_evsel *evsel = list_entry(entry, struct perf_evsel, node); |
1368 | bool current_entry = ui_browser__is_current_entry(browser, row); | 1368 | bool current_entry = ui_browser__is_current_entry(browser, row); |
1369 | unsigned long nr_events = evsel->hists.stats.nr_events[PERF_RECORD_SAMPLE]; | 1369 | unsigned long nr_events = evsel->hists.stats.nr_events[PERF_RECORD_SAMPLE]; |
1370 | const char *ev_name = event_name(evsel); | 1370 | const char *ev_name = perf_evsel__name(evsel); |
1371 | char bf[256], unit; | 1371 | char bf[256], unit; |
1372 | const char *warn = " "; | 1372 | const char *warn = " "; |
1373 | size_t printed; | 1373 | size_t printed; |
@@ -1435,7 +1435,7 @@ browse_hists: | |||
1435 | */ | 1435 | */ |
1436 | if (timer) | 1436 | if (timer) |
1437 | timer(arg); | 1437 | timer(arg); |
1438 | ev_name = event_name(pos); | 1438 | ev_name = perf_evsel__name(pos); |
1439 | key = perf_evsel__hists_browse(pos, nr_events, help, | 1439 | key = perf_evsel__hists_browse(pos, nr_events, help, |
1440 | ev_name, true, timer, | 1440 | ev_name, true, timer, |
1441 | arg, delay_secs); | 1441 | arg, delay_secs); |
@@ -1504,17 +1504,11 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist, | |||
1504 | ui_helpline__push("Press ESC to exit"); | 1504 | ui_helpline__push("Press ESC to exit"); |
1505 | 1505 | ||
1506 | list_for_each_entry(pos, &evlist->entries, node) { | 1506 | list_for_each_entry(pos, &evlist->entries, node) { |
1507 | const char *ev_name = event_name(pos); | 1507 | const char *ev_name = perf_evsel__name(pos); |
1508 | size_t line_len = strlen(ev_name) + 7; | 1508 | size_t line_len = strlen(ev_name) + 7; |
1509 | 1509 | ||
1510 | if (menu.b.width < line_len) | 1510 | if (menu.b.width < line_len) |
1511 | menu.b.width = line_len; | 1511 | menu.b.width = line_len; |
1512 | /* | ||
1513 | * Cache the evsel name, tracepoints have a _high_ cost per | ||
1514 | * event_name() call. | ||
1515 | */ | ||
1516 | if (pos->name == NULL) | ||
1517 | pos->name = strdup(ev_name); | ||
1518 | } | 1512 | } |
1519 | 1513 | ||
1520 | return perf_evsel_menu__run(&menu, evlist->nr_entries, help, timer, | 1514 | return perf_evsel_menu__run(&menu, evlist->nr_entries, help, timer, |
@@ -1525,11 +1519,10 @@ int perf_evlist__tui_browse_hists(struct perf_evlist *evlist, const char *help, | |||
1525 | void(*timer)(void *arg), void *arg, | 1519 | void(*timer)(void *arg), void *arg, |
1526 | int delay_secs) | 1520 | int delay_secs) |
1527 | { | 1521 | { |
1528 | |||
1529 | if (evlist->nr_entries == 1) { | 1522 | if (evlist->nr_entries == 1) { |
1530 | struct perf_evsel *first = list_entry(evlist->entries.next, | 1523 | struct perf_evsel *first = list_entry(evlist->entries.next, |
1531 | struct perf_evsel, node); | 1524 | struct perf_evsel, node); |
1532 | const char *ev_name = event_name(first); | 1525 | const char *ev_name = perf_evsel__name(first); |
1533 | return perf_evsel__hists_browse(first, evlist->nr_entries, help, | 1526 | return perf_evsel__hists_browse(first, evlist->nr_entries, help, |
1534 | ev_name, false, timer, arg, | 1527 | ev_name, false, timer, arg, |
1535 | delay_secs); | 1528 | delay_secs); |