From c507999790438cde78b5618fa64daefd697035af Mon Sep 17 00:00:00 2001 From: Stanislav Fomichev Date: Mon, 2 Dec 2013 18:37:36 +0400 Subject: perf timechart: Add support for topology Add -t switch to sort CPUs topologically. Signed-off-by: Stanislav Fomichev Cc: Ingo Molnar Cc: Jiri Olsa Cc: Namhyung Kim Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Ramkumar Ramachandra Link: http://lkml.kernel.org/r/1385995056-20158-5-git-send-email-stfomichev@yandex-team.ru Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-timechart.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'tools/perf/builtin-timechart.c') diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c index db9c4c172587..8bde57c5c908 100644 --- a/tools/perf/builtin-timechart.c +++ b/tools/perf/builtin-timechart.c @@ -58,7 +58,8 @@ struct timechart { first_time, last_time; bool power_only, tasks_only, - with_backtrace; + with_backtrace, + topology; }; struct per_pidcomm; @@ -1077,6 +1078,18 @@ static int process_header(struct perf_file_section *section __maybe_unused, case HEADER_NRCPUS: tchart->numcpus = ph->env.nr_cpus_avail; break; + + case HEADER_CPU_TOPOLOGY: + if (!tchart->topology) + break; + + if (svg_build_topology_map(ph->env.sibling_cores, + ph->env.nr_sibling_cores, + ph->env.sibling_threads, + ph->env.nr_sibling_threads)) + fprintf(stderr, "problem building topology\n"); + break; + default: break; } @@ -1267,6 +1280,8 @@ int cmd_timechart(int argc, const char **argv, "Look for files with symbols relative to this directory"), OPT_INTEGER('n', "proc-num", &tchart.proc_num, "min. number of tasks to print"), + OPT_BOOLEAN('t', "topology", &tchart.topology, + "sort CPUs according to topology"), OPT_END() }; const char * const timechart_usage[] = { -- cgit v1.2.3-59-g8ed1b