mirror of https://gitee.com/openkylin/linux.git
Improvements for 'perf annotate' from Namhyung Kim.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAABAgAGBQJPVNVBAAoJENZQFvNTUqpA5EEP/Rhc3X6BcoPlfhvLoJ9OEaFc fiPsDVpJMEwaE5Pi+aztigNfexPKwvTfwEFjScvIQpmGch1SwJcoHRdx9MaD0ocy g4EMRDpkDjn3DJz4s3627iyDXROn+biAMojK4vJ7a5FNRb2UykxsQyFskuZjMVkf RddUq/vZdOT5p21bxCwoJnWj24tJJPWABJoo8V5KJqKdv7OWsg5yYcV3UCYpnUNS OoxqRFXWUI3Px+21IcjlLRDvyaRPLtY1UhFYfMCA1hGD/f4G3JHiUevRhHF3TUGl oTTswuX3FJXRGTcW6+FmWIB4v2udKwza9d7DEN9cU5Vu0l99beEKhF4nlsCJBsR6 E0uFa+LmEa9jMK/ruVxVdi5/X7/dINseTDoV97m2/fQe+Wi8o2/O5hQv6IlsPHkq QQWZA1oGI8AHq8xyOO3O507eO1juWc7W9TKvXxe1jfuT9V+UZ36zQydEz3CmBQCa kJ5JgpRk78n0ZTbl2wXcCKt61255zYvX2CzBSeDzrWsKZzMFbU+tBEI7pZaA6NGs YL5OOdvW8y4vIPzurmQbI74YO7aLQoHCJZZUXXKBOQWNzchGFO8yGJuHbBM2FCdP 9iITsIUkoq7ZSjyss5MMaK3uWSVop+4Y5YfOqZrvTiFdyb0w8sulrsudp1dhjAeY T5Lv2PByHsWfEERCH5st =Sotv -----END PGP SIGNATURE----- Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Improvements for 'perf annotate' from Namhyung Kim. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
commit
262760894c
|
@ -15,6 +15,16 @@ endif
|
|||
|
||||
# Define V to have a more verbose compile.
|
||||
#
|
||||
# Define O to save output files in a separate directory.
|
||||
#
|
||||
# Define ARCH as name of target architecture if you want cross-builds.
|
||||
#
|
||||
# Define CROSS_COMPILE as prefix name of compiler if you want cross-builds.
|
||||
#
|
||||
# Define NO_LIBPERL to disable perl script extension.
|
||||
#
|
||||
# Define NO_LIBPYTHON to disable python script extension.
|
||||
#
|
||||
# Define PYTHON to point to the python binary if the default
|
||||
# `python' is not correct; for example: PYTHON=python2
|
||||
#
|
||||
|
@ -32,6 +42,10 @@ endif
|
|||
# Define NO_DWARF if you do not want debug-info analysis feature at all.
|
||||
#
|
||||
# Define WERROR=0 to disable treating any warnings as errors.
|
||||
#
|
||||
# Define NO_NEWT if you do not want TUI support.
|
||||
#
|
||||
# Define NO_DEMANGLE if you do not want C++ symbol demangling.
|
||||
|
||||
$(OUTPUT)PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE
|
||||
@$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
|
||||
|
|
|
@ -315,7 +315,7 @@ int symbol__annotate(struct symbol *sym, struct map *map, size_t privsize)
|
|||
"Please use:\n\n"
|
||||
" perf buildid-cache -av vmlinux\n\n"
|
||||
"or:\n\n"
|
||||
" --vmlinux vmlinux",
|
||||
" --vmlinux vmlinux\n",
|
||||
sym->name, build_id_msg ?: "");
|
||||
goto out_free_filename;
|
||||
}
|
||||
|
|
|
@ -765,6 +765,7 @@ int perf_evlist__open(struct perf_evlist *evlist, bool group)
|
|||
list_for_each_entry_reverse(evsel, &evlist->entries, node)
|
||||
perf_evsel__close(evsel, ncpus, nthreads);
|
||||
|
||||
errno = -err;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -69,14 +69,17 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro
|
|||
if (!self->navkeypressed)
|
||||
width += 1;
|
||||
|
||||
if (!ab->hide_src_code && ol->offset != -1)
|
||||
if (!current_entry || (self->use_navkeypressed &&
|
||||
!self->navkeypressed))
|
||||
ui_browser__set_color(self, HE_COLORSET_CODE);
|
||||
|
||||
if (!*ol->line)
|
||||
slsmg_write_nstring(" ", width - 18);
|
||||
else
|
||||
slsmg_write_nstring(ol->line, width - 18);
|
||||
|
||||
if (!current_entry)
|
||||
ui_browser__set_color(self, HE_COLORSET_CODE);
|
||||
else
|
||||
if (current_entry)
|
||||
ab->selection = ol;
|
||||
}
|
||||
|
||||
|
@ -230,9 +233,9 @@ static int annotate_browser__run(struct annotate_browser *self, int evidx,
|
|||
struct rb_node *nd = NULL;
|
||||
struct map_symbol *ms = self->b.priv;
|
||||
struct symbol *sym = ms->sym;
|
||||
const char *help = "<-, ESC: exit, TAB/shift+TAB: cycle hottest lines, "
|
||||
"H: Hottest, -> Line action, S -> Toggle source "
|
||||
"code view";
|
||||
const char *help = "<-/ESC: Exit, TAB/shift+TAB: Cycle hot lines, "
|
||||
"H: Go to hottest line, ->/ENTER: Line action, "
|
||||
"S: Toggle source code view";
|
||||
int key;
|
||||
|
||||
if (ui_browser__show(&self->b, sym->name, help) < 0)
|
||||
|
@ -284,9 +287,11 @@ static int annotate_browser__run(struct annotate_browser *self, int evidx,
|
|||
nd = self->curr_hot;
|
||||
break;
|
||||
case 'H':
|
||||
case 'h':
|
||||
nd = self->curr_hot;
|
||||
break;
|
||||
case 'S':
|
||||
case 's':
|
||||
if (annotate_browser__toggle_source(self))
|
||||
ui_helpline__puts(help);
|
||||
continue;
|
||||
|
@ -338,6 +343,7 @@ static int annotate_browser__run(struct annotate_browser *self, int evidx,
|
|||
pthread_mutex_unlock(¬es->lock);
|
||||
symbol__tui_annotate(target, ms->map, evidx,
|
||||
timer, arg, delay_secs);
|
||||
ui_browser__show_title(&self->b, sym->name);
|
||||
}
|
||||
continue;
|
||||
case K_LEFT:
|
||||
|
|
Loading…
Reference in New Issue