forked from luck/tmp_suning_uos_patched
perf report/top: Add 'k' hotkey to zoom directly into the kernel map
As a convenience, equivalent to pressing Enter in a line with a kernel symbol and then selecting "Zoom" into the kernel DSO. Reviewed-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jin Yao <yao.jin@linux.intel.com> Cc: Kan Liang <kan.liang@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-vbnlnrpyfvz9deqoobtc3dz7@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
632003f400
commit
209f4e70a2
|
@ -18,7 +18,9 @@
|
||||||
#include "../../util/evlist.h"
|
#include "../../util/evlist.h"
|
||||||
#include "../../util/header.h"
|
#include "../../util/header.h"
|
||||||
#include "../../util/hist.h"
|
#include "../../util/hist.h"
|
||||||
|
#include "../../util/machine.h"
|
||||||
#include "../../util/map.h"
|
#include "../../util/map.h"
|
||||||
|
#include "../../util/maps.h"
|
||||||
#include "../../util/symbol.h"
|
#include "../../util/symbol.h"
|
||||||
#include "../../util/map_symbol.h"
|
#include "../../util/map_symbol.h"
|
||||||
#include "../../util/branch.h"
|
#include "../../util/branch.h"
|
||||||
|
@ -2566,7 +2568,7 @@ add_dso_opt(struct hist_browser *browser, struct popup_action *act,
|
||||||
if (!hists__has(browser->hists, dso) || map == NULL)
|
if (!hists__has(browser->hists, dso) || map == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (asprintf(optstr, "Zoom %s %s DSO",
|
if (asprintf(optstr, "Zoom %s %s DSO (use the 'k' hotkey to zoom directly into the kernel)",
|
||||||
browser->hists->dso_filter ? "out of" : "into",
|
browser->hists->dso_filter ? "out of" : "into",
|
||||||
__map__is_kernel(map) ? "the Kernel" : map->dso->short_name) < 0)
|
__map__is_kernel(map) ? "the Kernel" : map->dso->short_name) < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2936,6 +2938,7 @@ static int perf_evsel__hists_browse(struct evsel *evsel, int nr_events,
|
||||||
"E Expand all callchains\n" \
|
"E Expand all callchains\n" \
|
||||||
"F Toggle percentage of filtered entries\n" \
|
"F Toggle percentage of filtered entries\n" \
|
||||||
"H Display column headers\n" \
|
"H Display column headers\n" \
|
||||||
|
"k Zoom into the kernel map\n" \
|
||||||
"L Change percent limit\n" \
|
"L Change percent limit\n" \
|
||||||
"m Display context menu\n" \
|
"m Display context menu\n" \
|
||||||
"S Zoom into current Processor Socket\n" \
|
"S Zoom into current Processor Socket\n" \
|
||||||
|
@ -3033,6 +3036,10 @@ static int perf_evsel__hists_browse(struct evsel *evsel, int nr_events,
|
||||||
actions->ms.map = map;
|
actions->ms.map = map;
|
||||||
do_zoom_dso(browser, actions);
|
do_zoom_dso(browser, actions);
|
||||||
continue;
|
continue;
|
||||||
|
case 'k':
|
||||||
|
if (browser->selection != NULL)
|
||||||
|
hists_browser__zoom_map(browser, browser->selection->maps->machine->vmlinux_map);
|
||||||
|
continue;
|
||||||
case 'V':
|
case 'V':
|
||||||
verbose = (verbose + 1) % 4;
|
verbose = (verbose + 1) % 4;
|
||||||
browser->show_dso = verbose > 0;
|
browser->show_dso = verbose > 0;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user