forked from luck/tmp_suning_uos_patched
perf hists browser: Dynamically change verbosity level
Here is a small patch which tries to fulfill a point in the perf todo list: * Make pressing 'V' multiple times to go on cycling thru various verbosity levels in 'perf top', so that info that is present in 'perf top -v' can be obtained without having to restart the tool (acme). After a small grep in the code, the max verbosity level seems 3; so, we cycle at 4; I did not dare define a MAX_VERBOSE_LEVEL constant. Signed-off-by: Alexis Berlemont <alexis.berlemont@gmail.com> Suggested-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20161012214823.14324-2-alexis.berlemont@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
042cfb5fa6
commit
21e8c81095
|
@ -2807,7 +2807,10 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
|
|||
do_zoom_dso(browser, actions);
|
||||
continue;
|
||||
case 'V':
|
||||
browser->show_dso = !browser->show_dso;
|
||||
verbose = (verbose + 1) % 4;
|
||||
browser->show_dso = verbose > 0;
|
||||
ui_helpline__fpush("Verbosity level set to %d\n",
|
||||
verbose);
|
||||
continue;
|
||||
case 't':
|
||||
actions->thread = thread;
|
||||
|
|
|
@ -682,9 +682,16 @@ static int maps__fixup_overlappings(struct maps *maps, struct map *map, FILE *fp
|
|||
continue;
|
||||
|
||||
if (verbose >= 2) {
|
||||
fputs("overlapping maps:\n", fp);
|
||||
map__fprintf(map, fp);
|
||||
map__fprintf(pos, fp);
|
||||
|
||||
if (use_browser) {
|
||||
pr_warning("overlapping maps in %s "
|
||||
"(disable tui for more info)\n",
|
||||
map->dso->name);
|
||||
} else {
|
||||
fputs("overlapping maps:\n", fp);
|
||||
map__fprintf(map, fp);
|
||||
map__fprintf(pos, fp);
|
||||
}
|
||||
}
|
||||
|
||||
rb_erase_init(&pos->rb_node, root);
|
||||
|
@ -702,7 +709,7 @@ static int maps__fixup_overlappings(struct maps *maps, struct map *map, FILE *fp
|
|||
|
||||
before->end = map->start;
|
||||
__map_groups__insert(pos->groups, before);
|
||||
if (verbose >= 2)
|
||||
if (verbose >= 2 && !use_browser)
|
||||
map__fprintf(before, fp);
|
||||
map__put(before);
|
||||
}
|
||||
|
@ -717,7 +724,7 @@ static int maps__fixup_overlappings(struct maps *maps, struct map *map, FILE *fp
|
|||
|
||||
after->start = map->end;
|
||||
__map_groups__insert(pos->groups, after);
|
||||
if (verbose >= 2)
|
||||
if (verbose >= 2 && !use_browser)
|
||||
map__fprintf(after, fp);
|
||||
map__put(after);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user