diff options
author | Kan Liang <kan.liang@linux.intel.com> | 2022-09-01 15:09:56 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-09-06 11:33:02 +0200 |
commit | a9a931e2666878343782c82d7d55cc173ddeb3e9 (patch) | |
tree | 1a5c971a8b8270afec0a4c05b7d6ea0e9072599a /kernel/events | |
parent | perf/x86/intel/pebs: Fix PEBS timestamps overwritten (diff) | |
download | linux-a9a931e2666878343782c82d7d55cc173ddeb3e9.tar.xz linux-a9a931e2666878343782c82d7d55cc173ddeb3e9.zip |
perf: Use sample_flags for branch stack
Use the new sample_flags to indicate whether the branch stack is filled
by the PMU driver.
Remove the br_stack from the perf_sample_data_init() to minimize the number
of cache lines touched.
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220901130959.1285717-4-kan.liang@linux.intel.com
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index c9b9cb79231a..104c0c9f4e6f 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -7052,7 +7052,7 @@ void perf_output_sample(struct perf_output_handle *handle, } if (sample_type & PERF_SAMPLE_BRANCH_STACK) { - if (data->br_stack) { + if (data->sample_flags & PERF_SAMPLE_BRANCH_STACK) { size_t size; size = data->br_stack->nr @@ -7358,7 +7358,7 @@ void perf_prepare_sample(struct perf_event_header *header, if (sample_type & PERF_SAMPLE_BRANCH_STACK) { int size = sizeof(u64); /* nr */ - if (data->br_stack) { + if (data->sample_flags & PERF_SAMPLE_BRANCH_STACK) { if (perf_sample_save_hw_index(event)) size += sizeof(u64); |