diff options
author | Namhyung Kim <namhyung@kernel.org> | 2022-09-21 15:00:32 -0700 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-09-27 22:50:24 +0200 |
commit | 838d9bb62d132ec3baf1b5aba2e95ef9a7a9a3cd (patch) | |
tree | 1963e0b6ad3557b1d8dc830f77feb5b7cfc8936e /kernel/events | |
parent | 7b084630153152239d84990ac4540c2dd360186f (diff) | |
download | linux-stable-838d9bb62d132ec3baf1b5aba2e95ef9a7a9a3cd.tar.gz linux-stable-838d9bb62d132ec3baf1b5aba2e95ef9a7a9a3cd.tar.bz2 linux-stable-838d9bb62d132ec3baf1b5aba2e95ef9a7a9a3cd.zip |
perf: Use sample_flags for raw_data
Use the new sample_flags to indicate whether the raw data field is
filled by the PMU driver. Although it could check with the NULL,
follow the same rule with other fields.
Remove the raw field from the perf_sample_data_init() to minimize
the number of cache lines touched.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20220921220032.2858517-2-namhyung@kernel.org
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index a91f74db9fe9..04e19a857d4b 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -7332,7 +7332,7 @@ void perf_prepare_sample(struct perf_event_header *header, struct perf_raw_record *raw = data->raw; int size; - if (raw) { + if (raw && (data->sample_flags & PERF_SAMPLE_RAW)) { struct perf_raw_frag *frag = &raw->frag; u32 sum = 0; @@ -7348,6 +7348,7 @@ void perf_prepare_sample(struct perf_event_header *header, frag->pad = raw->size - sum; } else { size = sizeof(u64); + data->raw = NULL; } header->size += size; |