* [PATCH] perf: dynamically change verbosity level in perf top @ 2016-10-12 21:48 Alexis Berlemont 2016-10-12 21:48 ` Alexis Berlemont 2016-10-14 15:49 ` [PATCH] perf: dynamically change verbosity level in perf top Arnaldo Carvalho de Melo 0 siblings, 2 replies; 4+ messages in thread From: Alexis Berlemont @ 2016-10-12 21:48 UTC (permalink / raw) To: linux-kernel; +Cc: Alexis Berlemont, peterz, mingo, acme, alexander.shishkin Hi, 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. Alexis. Alexis Berlemont (1): perf: dynamically change verbosity level in perf top tools/perf/ui/browsers/hists.c | 5 ++++- tools/perf/util/map.c | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) -- 2.10.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] perf: dynamically change verbosity level in perf top 2016-10-12 21:48 [PATCH] perf: dynamically change verbosity level in perf top Alexis Berlemont @ 2016-10-12 21:48 ` Alexis Berlemont 2016-10-24 19:03 ` [tip:perf/core] perf hists browser: Dynamically change verbosity level tip-bot for Alexis Berlemont 2016-10-14 15:49 ` [PATCH] perf: dynamically change verbosity level in perf top Arnaldo Carvalho de Melo 1 sibling, 1 reply; 4+ messages in thread From: Alexis Berlemont @ 2016-10-12 21:48 UTC (permalink / raw) To: linux-kernel; +Cc: Alexis Berlemont, peterz, mingo, acme, alexander.shishkin Signed-off-by: Alexis Berlemont <alexis.berlemont@gmail.com> --- tools/perf/ui/browsers/hists.c | 5 ++++- tools/perf/util/map.c | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index fb8e42c..6016909 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -2806,7 +2806,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; diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index c662fef..4f9a71c 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c @@ -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); } -- 2.10.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [tip:perf/core] perf hists browser: Dynamically change verbosity level 2016-10-12 21:48 ` Alexis Berlemont @ 2016-10-24 19:03 ` tip-bot for Alexis Berlemont 0 siblings, 0 replies; 4+ messages in thread From: tip-bot for Alexis Berlemont @ 2016-10-24 19:03 UTC (permalink / raw) To: linux-tip-commits Cc: tglx, acme, mingo, peterz, hpa, linux-kernel, alexander.shishkin, alexis.berlemont Commit-ID: 21e8c81095cdbbde9d2aba8fffc51cb9b5e0eeaa Gitweb: http://git.kernel.org/tip/21e8c81095cdbbde9d2aba8fffc51cb9b5e0eeaa Author: Alexis Berlemont <alexis.berlemont@gmail.com> AuthorDate: Wed, 12 Oct 2016 23:48:23 +0200 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Mon, 24 Oct 2016 11:07:42 -0300 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> --- tools/perf/ui/browsers/hists.c | 5 ++++- tools/perf/util/map.c | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index 31d6d5a..ddc4c3e 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -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; diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index c662fef..4f9a71c 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c @@ -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); } ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] perf: dynamically change verbosity level in perf top 2016-10-12 21:48 [PATCH] perf: dynamically change verbosity level in perf top Alexis Berlemont 2016-10-12 21:48 ` Alexis Berlemont @ 2016-10-14 15:49 ` Arnaldo Carvalho de Melo 1 sibling, 0 replies; 4+ messages in thread From: Arnaldo Carvalho de Melo @ 2016-10-14 15:49 UTC (permalink / raw) To: Alexis Berlemont; +Cc: linux-kernel, peterz, mingo, alexander.shishkin Em Wed, Oct 12, 2016 at 11:48:22PM +0200, Alexis Berlemont escreveu: > Hi, > > 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. Works like a charm, thanks for doing this, feel free to go over other entries in that list :-) I made changes only in the cset log message, adding the text you wrote above and adding a: Suggested-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Thanks! - Arnaldo > Alexis. > > Alexis Berlemont (1): > perf: dynamically change verbosity level in perf top > > tools/perf/ui/browsers/hists.c | 5 ++++- > tools/perf/util/map.c | 17 ++++++++++++----- > 2 files changed, 16 insertions(+), 6 deletions(-) > > -- > 2.10.0 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-10-24 19:04 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-10-12 21:48 [PATCH] perf: dynamically change verbosity level in perf top Alexis Berlemont 2016-10-12 21:48 ` Alexis Berlemont 2016-10-24 19:03 ` [tip:perf/core] perf hists browser: Dynamically change verbosity level tip-bot for Alexis Berlemont 2016-10-14 15:49 ` [PATCH] perf: dynamically change verbosity level in perf top Arnaldo Carvalho de Melo
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.