perf hists browser: Offer 'Zoom into DSO'/'Map details' only when sort order has 'dso'
We can't offer a zoom into DSO when a bucket (struct hist_entry) may have samples for more than one DSO, i.e. when 'dso' is not part of the sort order, ditto for 'Map details', fix it. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org>, Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/1452960197-5323-9-git-send-email-namhyung@kernel.org [ Carved out from a larger patch, moved check to add_{dso,map}_opt() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
c221acb0f9
Коммит
b1447a54f5
|
@ -1825,7 +1825,7 @@ static int
|
||||||
add_dso_opt(struct hist_browser *browser, struct popup_action *act,
|
add_dso_opt(struct hist_browser *browser, struct popup_action *act,
|
||||||
char **optstr, struct map *map)
|
char **optstr, struct map *map)
|
||||||
{
|
{
|
||||||
if (map == NULL)
|
if (!sort__has_dso || map == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (asprintf(optstr, "Zoom %s %s DSO",
|
if (asprintf(optstr, "Zoom %s %s DSO",
|
||||||
|
@ -1850,7 +1850,7 @@ static int
|
||||||
add_map_opt(struct hist_browser *browser __maybe_unused,
|
add_map_opt(struct hist_browser *browser __maybe_unused,
|
||||||
struct popup_action *act, char **optstr, struct map *map)
|
struct popup_action *act, char **optstr, struct map *map)
|
||||||
{
|
{
|
||||||
if (map == NULL)
|
if (!sort__has_dso || map == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (asprintf(optstr, "Browse map details") < 0)
|
if (asprintf(optstr, "Browse map details") < 0)
|
||||||
|
|
|
@ -32,6 +32,7 @@ extern const char default_sort_order[];
|
||||||
extern regex_t ignore_callees_regex;
|
extern regex_t ignore_callees_regex;
|
||||||
extern int have_ignore_callees;
|
extern int have_ignore_callees;
|
||||||
extern int sort__need_collapse;
|
extern int sort__need_collapse;
|
||||||
|
extern int sort__has_dso;
|
||||||
extern int sort__has_parent;
|
extern int sort__has_parent;
|
||||||
extern int sort__has_sym;
|
extern int sort__has_sym;
|
||||||
extern int sort__has_socket;
|
extern int sort__has_socket;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче