mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
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>
This commit is contained in:
parent
4cde998d20
commit
0c4c4debb0
|
|
@ -1021,6 +1021,14 @@ int perf_event__preprocess_sample(const union perf_event *event,
|
||||||
|
|
||||||
al->sym = NULL;
|
al->sym = NULL;
|
||||||
al->cpu = sample->cpu;
|
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) {
|
if (al->map) {
|
||||||
struct dso *dso = al->map->dso;
|
struct dso *dso = al->map->dso;
|
||||||
|
|
|
||||||
|
|
@ -453,6 +453,7 @@ struct hist_entry *__hists__add_entry(struct hists *hists,
|
||||||
.map = al->map,
|
.map = al->map,
|
||||||
.sym = al->sym,
|
.sym = al->sym,
|
||||||
},
|
},
|
||||||
|
.socket = al->socket,
|
||||||
.cpu = al->cpu,
|
.cpu = al->cpu,
|
||||||
.cpumode = al->cpumode,
|
.cpumode = al->cpumode,
|
||||||
.ip = al->addr,
|
.ip = al->addr,
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ struct hist_entry {
|
||||||
struct comm *comm;
|
struct comm *comm;
|
||||||
u64 ip;
|
u64 ip;
|
||||||
u64 transaction;
|
u64 transaction;
|
||||||
|
s32 socket;
|
||||||
s32 cpu;
|
s32 cpu;
|
||||||
u8 cpumode;
|
u8 cpumode;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,7 @@ struct addr_location {
|
||||||
u8 filtered;
|
u8 filtered;
|
||||||
u8 cpumode;
|
u8 cpumode;
|
||||||
s32 cpu;
|
s32 cpu;
|
||||||
|
s32 socket;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct symsrc {
|
struct symsrc {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user