struct ip_event assumes fixed positions for ip, pid and tid. That is no longer true with the addition of PERF_SAMPLE_IDENTIFIER.
struct ip_event is no longer used except by hists_link.c. Move it there. Signed-off-by: Adrian Hunter <adrian.hun...@intel.com> --- tools/perf/tests/hists_link.c | 27 +++++++++++++++++++++++---- tools/perf/util/event.h | 11 ----------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/tools/perf/tests/hists_link.c b/tools/perf/tests/hists_link.c index 5a178d5..cfdbfd9 100644 --- a/tools/perf/tests/hists_link.c +++ b/tools/perf/tests/hists_link.c @@ -195,6 +195,19 @@ static struct sample fake_samples[][5] = { }, }; +/* PERF_SAMPLE_IP | PERF_SAMPLE_TID | * but not PERF_SAMPLE_IDENTIFIER */ +struct ip_event { + struct perf_event_header header; + u64 ip; + u32 pid, tid; + unsigned char __more_data[]; +}; + +union perf_ip_event { + struct ip_event ip; + union perf_event event; +}; + static int add_hist_entries(struct perf_evlist *evlist, struct machine *machine) { struct perf_evsel *evsel; @@ -210,7 +223,7 @@ static int add_hist_entries(struct perf_evlist *evlist, struct machine *machine) */ list_for_each_entry(evsel, &evlist->entries, node) { for (k = 0; k < ARRAY_SIZE(fake_common_samples); k++) { - const union perf_event event = { + const union perf_ip_event ip_event = { .ip = { .header = { .misc = PERF_RECORD_MISC_USER, @@ -219,8 +232,11 @@ static int add_hist_entries(struct perf_evlist *evlist, struct machine *machine) .ip = fake_common_samples[k].ip, }, }; + const union perf_event *event = &ip_event.event; - if (perf_event__preprocess_sample(&event, machine, &al, + sample.pid = ip_event.ip.pid; + sample.ip = ip_event.ip.ip; + if (perf_event__preprocess_sample(event, machine, &al, &sample, 0) < 0) goto out; @@ -234,7 +250,7 @@ static int add_hist_entries(struct perf_evlist *evlist, struct machine *machine) } for (k = 0; k < ARRAY_SIZE(fake_samples[i]); k++) { - const union perf_event event = { + const union perf_ip_event ip_event = { .ip = { .header = { .misc = PERF_RECORD_MISC_USER, @@ -243,8 +259,11 @@ static int add_hist_entries(struct perf_evlist *evlist, struct machine *machine) .ip = fake_samples[i][k].ip, }, }; + const union perf_event *event = &ip_event.event; - if (perf_event__preprocess_sample(&event, machine, &al, + sample.pid = ip_event.ip.pid; + sample.ip = ip_event.ip.ip; + if (perf_event__preprocess_sample(event, machine, &al, &sample, 0) < 0) goto out; diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h index ec07eb5..78fa6c3 100644 --- a/tools/perf/util/event.h +++ b/tools/perf/util/event.h @@ -8,16 +8,6 @@ #include "map.h" #include "build-id.h" -/* - * PERF_SAMPLE_IP | PERF_SAMPLE_TID | * - */ -struct ip_event { - struct perf_event_header header; - u64 ip; - u32 pid, tid; - unsigned char __more_data[]; -}; - struct mmap_event { struct perf_event_header header; u32 pid, tid; @@ -180,7 +170,6 @@ struct tracing_data_event { union perf_event { struct perf_event_header header; - struct ip_event ip; struct mmap_event mmap; struct comm_event comm; struct fork_event fork; -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/