perf hists browser: Only 'Zoom into thread' only when sort order has 'pid'

We can't offer a zoom into thread when a bucket (struct hist_entry) may
have samples for more than one thread, i.e. when 'pid' is not part of
the sort order, 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 ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Namhyung Kim 2016-01-21 19:13:24 -03:00 committed by Arnaldo Carvalho de Melo
parent cfd92dadc5
commit 2eafd410e6

View File

@ -1782,7 +1782,7 @@ static int
add_thread_opt(struct hist_browser *browser, struct popup_action *act, add_thread_opt(struct hist_browser *browser, struct popup_action *act,
char **optstr, struct thread *thread) char **optstr, struct thread *thread)
{ {
if (thread == NULL) if (!sort__has_thread || thread == NULL)
return 0; return 0;
if (asprintf(optstr, "Zoom %s %s(%d) thread", if (asprintf(optstr, "Zoom %s %s(%d) thread",
@ -2307,10 +2307,12 @@ skip_annotation:
socked_id); socked_id);
/* perf script support */ /* perf script support */
if (browser->he_selection) { if (browser->he_selection) {
nr_options += add_script_opt(browser, if (sort__has_thread && thread) {
&actions[nr_options], nr_options += add_script_opt(browser,
&options[nr_options], &actions[nr_options],
thread, NULL); &options[nr_options],
thread, NULL);
}
/* /*
* Note that browser->selection != NULL * Note that browser->selection != NULL
* when browser->he_selection is not NULL, * when browser->he_selection is not NULL,