Browse Source

perf sort: Provide a way to find out if per-thread bucketing is in place

Now the UI browsers will be able to offer thread related operations only
if the thread is part of the sort order in use, i.e. if hist_entry stats
are all for a single thread.

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>
Namhyung Kim 9 years ago
parent
commit
cfd92dadc5
2 changed files with 4 additions and 0 deletions
  1. 3 0
      tools/perf/util/sort.c
  2. 1 0
      tools/perf/util/sort.h

+ 3 - 0
tools/perf/util/sort.c

@@ -25,6 +25,7 @@ int		sort__has_parent = 0;
 int		sort__has_sym = 0;
 int		sort__has_sym = 0;
 int		sort__has_dso = 0;
 int		sort__has_dso = 0;
 int		sort__has_socket = 0;
 int		sort__has_socket = 0;
+int		sort__has_thread = 0;
 enum sort_mode	sort__mode = SORT_MODE__NORMAL;
 enum sort_mode	sort__mode = SORT_MODE__NORMAL;
 
 
 
 
@@ -2136,6 +2137,8 @@ static int sort_dimension__add(const char *tok,
 			sort__has_dso = 1;
 			sort__has_dso = 1;
 		} else if (sd->entry == &sort_socket) {
 		} else if (sd->entry == &sort_socket) {
 			sort__has_socket = 1;
 			sort__has_socket = 1;
+		} else if (sd->entry == &sort_thread) {
+			sort__has_thread = 1;
 		}
 		}
 
 
 		return __sort_dimension__add(sd);
 		return __sort_dimension__add(sd);

+ 1 - 0
tools/perf/util/sort.h

@@ -35,6 +35,7 @@ extern int sort__need_collapse;
 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;
+extern int sort__has_thread;
 extern enum sort_mode sort__mode;
 extern enum sort_mode sort__mode;
 extern struct sort_entry sort_comm;
 extern struct sort_entry sort_comm;
 extern struct sort_entry sort_dso;
 extern struct sort_entry sort_dso;