Messages in this thread Patch in this message | | | From | Adrian Hunter <> | Subject | [PATCH V5 08/12] perf tools: move struct ip_event | Date | Thu, 11 Jul 2013 16:12:17 +0300 |
| |
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.hunter@intel.com> --- tools/perf/tests/hists_link.c | 23 +++++++++++++++++++---- tools/perf/util/event.h | 11 ----------- 2 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/tools/perf/tests/hists_link.c b/tools/perf/tests/hists_link.c index 7e0ca15..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,10 +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; sample.pid = ip_event.ip.pid; sample.ip = ip_event.ip.ip; - if (perf_event__preprocess_sample(&event, machine, &al, + if (perf_event__preprocess_sample(event, machine, &al, &sample, 0) < 0) goto out; @@ -236,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, @@ -245,10 +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; sample.pid = ip_event.ip.pid; sample.ip = ip_event.ip.ip; - if (perf_event__preprocess_sample(&event, machine, &al, + 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 3aef78c..a7b2245 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; @@ -162,7 +152,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
| |