Re: [PATCH 0/6] Add sample_flags to improve the perf_sample_data struct

From: Namhyung Kim
Date: Wed Aug 31 2022 - 18:43:09 EST


(Adding Ravi to CC)

On Wed, Aug 31, 2022 at 07:55:08AM -0700, kan.liang@xxxxxxxxxxxxxxx wrote:
> From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> The patch series is to fix PEBS timestamps overwritten and improve the
> perf_sample_data struct. The detailed discussion can be found at
> https://lore.kernel.org/lkml/YwXvGe4%2FQdgGYOKJ@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> The patch series has two changes compared with the suggestions in the
> above discussion.
> - Only clear the sample flags for the perf_prepare_sample().
> The __perf_event_header__init_id is shared between perf_prepare_sample()
> (used by PERF_RECORD_SAMPLE) and perf_event_header__init_id() (used by
> other PERF_RECORD_* event type). The sample data is only available
> for the PERF_RECORD_SAMPLE.
> - The CALLCHAIN_EARLY hack is still required for the BPF, especially
> perf_event_set_bpf_handler(). The sample data is not available when
> the function is invoked.

In general, looks good! I'd like to work on the BPF side so that it can
get the sample data for filtering. The previous discussion was at

https://lore.kernel.org/all/CAM9d7cjj0X90=NsvdwaLMGCDVkMJBLAGF_q-+Eqj6b44OAnzoQ@xxxxxxxxxxxxxx/

Thanks,
Namhyung

>
> Kan Liang (6):
> perf: Add sample_flags to indicate the PMU-filled sample data
> perf/x86/intel/pebs: Fix PEBS timestamps overwritten
> perf: Use sample_flags for branch stack
> perf: Use sample_flags for weight
> perf: Use sample_flags for data_src
> perf: Use sample_flags for txn
>
> arch/powerpc/perf/core-book3s.c | 10 ++++++---
> arch/x86/events/core.c | 4 +++-
> arch/x86/events/intel/core.c | 4 +++-
> arch/x86/events/intel/ds.c | 39 ++++++++++++++++++++++++---------
> include/linux/perf_event.h | 15 ++++++-------
> kernel/events/core.c | 33 +++++++++++++++++++---------
> 6 files changed, 72 insertions(+), 33 deletions(-)
>
> --
> 2.35.1
>
>