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(-)
From: Kan Liang <kan.liang@linux.intel.com> 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@worktop.programming.kicks-ass.net/ 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. 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
(Adding Ravi to CC) On Wed, Aug 31, 2022 at 07:55:08AM -0700, kan.liang@linux.intel.com wrote: > From: Kan Liang <kan.liang@linux.intel.com> > > 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@worktop.programming.kicks-ass.net/ > > 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@mail.gmail.com/ 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 > >
On 2022-08-31 6:42 p.m., Namhyung Kim wrote: > (Adding Ravi to CC) > > On Wed, Aug 31, 2022 at 07:55:08AM -0700, kan.liang@linux.intel.com wrote: >> From: Kan Liang <kan.liang@linux.intel.com> >> >> 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@worktop.programming.kicks-ass.net/ >> >> 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. Thanks Namhyung. I will send out the V2 shortly. I think the BPF work can be on top of it. Thanks, Kan > The previous discussion was at > > https://lore.kernel.org/all/CAM9d7cjj0X90=NsvdwaLMGCDVkMJBLAGF_q-+Eqj6b44OAnzoQ@mail.gmail.com/ > > 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 >> >>
On Thu, Sep 1, 2022 at 5:47 AM Liang, Kan <kan.liang@linux.intel.com> wrote: > > > > On 2022-08-31 6:42 p.m., Namhyung Kim wrote: > > (Adding Ravi to CC) > > > > On Wed, Aug 31, 2022 at 07:55:08AM -0700, kan.liang@linux.intel.com wrote: > >> From: Kan Liang <kan.liang@linux.intel.com> > >> > >> 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@worktop.programming.kicks-ass.net/ > >> > >> 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. > > Thanks Namhyung. I will send out the V2 shortly. I think the BPF work > can be on top of it. Yep, I'll work on it once this patchset is merged. Thanks, Namhyung
© 2016 - 2026 Red Hat, Inc.