diff options
author | Kan Liang <kan.liang@intel.com> | 2015-09-04 16:45:42 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-09-14 17:50:29 +0200 |
commit | 0c4c4debb0adda4c18c158d95031dc2b9f637869 (patch) | |
tree | c3af5193a912f747892d29d168f6ace84816d60d /tools/perf/util/event.c | |
parent | perf machine: Add pointer to sample's environment (diff) | |
download | linux-0c4c4debb0adda4c18c158d95031dc2b9f637869.tar.xz linux-0c4c4debb0adda4c18c158d95031dc2b9f637869.zip |
perf tools: Add processor socket info to hist_entry and addr_location
This information will come from perf.data files of from the current
system, cached when needed, such as when the 'socket' sort order gets
introduced.
Signed-off-by: Kan Liang <kan.liang@intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1441377946-44429-1-git-send-email-kan.liang@intel.com
[ Don't blindly use env->cpu[al.cpu].socket_id & use machine->env, fixes by Jiri & Arnaldo ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/event.c')
-rw-r--r-- | tools/perf/util/event.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index 7ff61274ed57..497157affc9c 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c @@ -1021,6 +1021,14 @@ int perf_event__preprocess_sample(const union perf_event *event, al->sym = NULL; al->cpu = sample->cpu; + al->socket = -1; + + if (al->cpu >= 0) { + struct perf_env *env = machine->env; + + if (env && env->cpu) + al->socket = env->cpu[al->cpu].socket_id; + } if (al->map) { struct dso *dso = al->map->dso; |