Commit a3f698fe3082ff80a7f3b27c9b64b4b748c81f9d
1 parent
cb0b29e086
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
perf evsel: Adopt parse_sample method from perf_event
Since we need evsel->{attr.{sample_{id_all,type}},sample_size}, reducing the number of parameters tools have to pass. Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/n/tip-wdtmgak0ihgsmw1brb54a8h4@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Showing 5 changed files with 11 additions and 15 deletions Side-by-side Diff
tools/perf/util/event.h
... | ... | @@ -197,9 +197,6 @@ |
197 | 197 | |
198 | 198 | const char *perf_event__name(unsigned int id); |
199 | 199 | |
200 | -int perf_event__parse_sample(const union perf_event *event, u64 type, | |
201 | - int sample_size, bool sample_id_all, | |
202 | - struct perf_sample *sample, bool swapped); | |
203 | 200 | int perf_event__synthesize_sample(union perf_event *event, u64 type, |
204 | 201 | const struct perf_sample *sample, |
205 | 202 | bool swapped); |
tools/perf/util/evlist.c
... | ... | @@ -882,12 +882,10 @@ |
882 | 882 | return 0; |
883 | 883 | } |
884 | 884 | |
885 | -int perf_evlist__parse_sample(struct perf_evlist *evlist, | |
886 | - const union perf_event *event, | |
885 | +int perf_evlist__parse_sample(struct perf_evlist *evlist, union perf_event *event, | |
887 | 886 | struct perf_sample *sample, bool swapped) |
888 | 887 | { |
889 | 888 | struct perf_evsel *e = list_entry(evlist->entries.next, struct perf_evsel, node); |
890 | - return perf_event__parse_sample(event, e->attr.sample_type, e->sample_size, | |
891 | - e->attr.sample_id_all, sample, swapped); | |
889 | + return perf_evsel__parse_sample(e, event, sample, swapped); | |
892 | 890 | } |
tools/perf/util/evlist.h
... | ... | @@ -122,8 +122,7 @@ |
122 | 122 | bool perf_evlist__sample_id_all(const const struct perf_evlist *evlist); |
123 | 123 | u16 perf_evlist__id_hdr_size(const struct perf_evlist *evlist); |
124 | 124 | |
125 | -int perf_evlist__parse_sample(struct perf_evlist *evlist, | |
126 | - const union perf_event *event, | |
125 | +int perf_evlist__parse_sample(struct perf_evlist *evlist, union perf_event *event, | |
127 | 126 | struct perf_sample *sample, bool swapped); |
128 | 127 | |
129 | 128 | bool perf_evlist__valid_sample_type(const struct perf_evlist *evlist); |
tools/perf/util/evsel.c
... | ... | @@ -729,10 +729,10 @@ |
729 | 729 | return false; |
730 | 730 | } |
731 | 731 | |
732 | -int perf_event__parse_sample(const union perf_event *event, u64 type, | |
733 | - int sample_size, bool sample_id_all, | |
732 | +int perf_evsel__parse_sample(struct perf_evsel *evsel, union perf_event *event, | |
734 | 733 | struct perf_sample *data, bool swapped) |
735 | 734 | { |
735 | + u64 type = evsel->attr.sample_type; | |
736 | 736 | const u64 *array; |
737 | 737 | |
738 | 738 | /* |
739 | 739 | |
... | ... | @@ -747,14 +747,14 @@ |
747 | 747 | data->period = 1; |
748 | 748 | |
749 | 749 | if (event->header.type != PERF_RECORD_SAMPLE) { |
750 | - if (!sample_id_all) | |
750 | + if (!evsel->attr.sample_id_all) | |
751 | 751 | return 0; |
752 | 752 | return perf_event__parse_id_sample(event, type, data, swapped); |
753 | 753 | } |
754 | 754 | |
755 | 755 | array = event->sample.array; |
756 | 756 | |
757 | - if (sample_size + sizeof(event->header) > event->header.size) | |
757 | + if (evsel->sample_size + sizeof(event->header) > event->header.size) | |
758 | 758 | return -EFAULT; |
759 | 759 | |
760 | 760 | if (type & PERF_SAMPLE_IP) { |
... | ... | @@ -896,7 +896,7 @@ |
896 | 896 | u.val32[1] = sample->tid; |
897 | 897 | if (swapped) { |
898 | 898 | /* |
899 | - * Inverse of what is done in perf_event__parse_sample | |
899 | + * Inverse of what is done in perf_evsel__parse_sample | |
900 | 900 | */ |
901 | 901 | u.val32[0] = bswap_32(u.val32[0]); |
902 | 902 | u.val32[1] = bswap_32(u.val32[1]); |
... | ... | @@ -931,7 +931,7 @@ |
931 | 931 | u.val32[0] = sample->cpu; |
932 | 932 | if (swapped) { |
933 | 933 | /* |
934 | - * Inverse of what is done in perf_event__parse_sample | |
934 | + * Inverse of what is done in perf_evsel__parse_sample | |
935 | 935 | */ |
936 | 936 | u.val32[0] = bswap_32(u.val32[0]); |
937 | 937 | u.val64 = bswap_64(u.val64); |
tools/perf/util/evsel.h