Loading tools/perf/Documentation/perf-lock.txt +10 −2 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ and statistics with this 'perf lock' command. 'perf lock report' reports statistical data. OPTIONS ------- COMMON OPTIONS -------------- -i:: --input=<file>:: Loading @@ -39,6 +39,14 @@ OPTIONS --dump-raw-trace:: Dump raw trace in ASCII. REPORT OPTIONS -------------- -k:: --key=<value>:: Sorting key. Possible values: acquired (default), contended, wait_total, wait_max, wait_min. SEE ALSO -------- linkperf:perf[1] tools/perf/builtin-lock.c +1 −1 Original line number Diff line number Diff line Loading @@ -893,7 +893,7 @@ static const char * const report_usage[] = { static const struct option report_options[] = { OPT_STRING('k', "key", &sort_key, "acquired", "key for sorting"), "key for sorting (acquired / contended / wait_total / wait_max / wait_min)"), /* TODO: type */ OPT_END() }; Loading tools/perf/util/ui/browsers/top.c +23 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ static void perf_top_browser__write(struct ui_browser *browser, void *entry, int static void perf_top_browser__update_rb_tree(struct perf_top_browser *browser) { struct perf_top *top = browser->b.priv; u64 top_idx = browser->b.top_idx; browser->root = RB_ROOT; browser->b.top = NULL; Loading @@ -82,7 +83,29 @@ static void perf_top_browser__update_rb_tree(struct perf_top_browser *browser) if (browser->sym_width + browser->dso_width > browser->b.width - 29) browser->sym_width = browser->b.width - browser->dso_width - 29; } /* * Adjust the ui_browser indexes since the entries in the browser->root * rb_tree may have changed, then seek it from start, so that we get a * possible new top of the screen. */ browser->b.nr_entries = top->rb_entries; if (top_idx >= browser->b.nr_entries) { if (browser->b.height >= browser->b.nr_entries) top_idx = browser->b.nr_entries - browser->b.height; else top_idx = 0; } if (browser->b.index >= top_idx + browser->b.height) browser->b.index = top_idx + browser->b.index - browser->b.top_idx; if (browser->b.index >= browser->b.nr_entries) browser->b.index = browser->b.nr_entries - 1; browser->b.top_idx = top_idx; browser->b.seek(&browser->b, top_idx, SEEK_SET); } static void perf_top_browser__annotate(struct perf_top_browser *browser) Loading Loading
tools/perf/Documentation/perf-lock.txt +10 −2 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ and statistics with this 'perf lock' command. 'perf lock report' reports statistical data. OPTIONS ------- COMMON OPTIONS -------------- -i:: --input=<file>:: Loading @@ -39,6 +39,14 @@ OPTIONS --dump-raw-trace:: Dump raw trace in ASCII. REPORT OPTIONS -------------- -k:: --key=<value>:: Sorting key. Possible values: acquired (default), contended, wait_total, wait_max, wait_min. SEE ALSO -------- linkperf:perf[1]
tools/perf/builtin-lock.c +1 −1 Original line number Diff line number Diff line Loading @@ -893,7 +893,7 @@ static const char * const report_usage[] = { static const struct option report_options[] = { OPT_STRING('k', "key", &sort_key, "acquired", "key for sorting"), "key for sorting (acquired / contended / wait_total / wait_max / wait_min)"), /* TODO: type */ OPT_END() }; Loading
tools/perf/util/ui/browsers/top.c +23 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ static void perf_top_browser__write(struct ui_browser *browser, void *entry, int static void perf_top_browser__update_rb_tree(struct perf_top_browser *browser) { struct perf_top *top = browser->b.priv; u64 top_idx = browser->b.top_idx; browser->root = RB_ROOT; browser->b.top = NULL; Loading @@ -82,7 +83,29 @@ static void perf_top_browser__update_rb_tree(struct perf_top_browser *browser) if (browser->sym_width + browser->dso_width > browser->b.width - 29) browser->sym_width = browser->b.width - browser->dso_width - 29; } /* * Adjust the ui_browser indexes since the entries in the browser->root * rb_tree may have changed, then seek it from start, so that we get a * possible new top of the screen. */ browser->b.nr_entries = top->rb_entries; if (top_idx >= browser->b.nr_entries) { if (browser->b.height >= browser->b.nr_entries) top_idx = browser->b.nr_entries - browser->b.height; else top_idx = 0; } if (browser->b.index >= top_idx + browser->b.height) browser->b.index = top_idx + browser->b.index - browser->b.top_idx; if (browser->b.index >= browser->b.nr_entries) browser->b.index = browser->b.nr_entries - 1; browser->b.top_idx = top_idx; browser->b.seek(&browser->b, top_idx, SEEK_SET); } static void perf_top_browser__annotate(struct perf_top_browser *browser) Loading