Commit b1447a54 authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo

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: default avatarNamhyung Kim <namhyung@kernel.org>
Tested-by: default avatarArnaldo 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent c221acb0
...@@ -1825,7 +1825,7 @@ static int ...@@ -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 ...@@ -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[]; ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment