On 10/23/24 02:09, Namhyung Kim wrote: > And increase the dropped_sample count when it returns 1. Now it can > track how many samples are dropped due to the privilege filters in > software events. > > While at it, rename the same function in s390 cpum_sf PMU and also count > the dropped samples. > > Cc: Heiko Carstens <hca@xxxxxxxxxxxxx> > Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> > Cc: Alexander Gordeev <agordeev@xxxxxxxxxxxxx> > Cc: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx> > Cc: Sven Schnelle <svens@xxxxxxxxxxxxx> > Cc: Thomas Richter <tmricht@xxxxxxxxxxxxx> > Cc: linux-s390@xxxxxxxxxxxxxxx > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> > --- > arch/s390/kernel/perf_cpum_sf.c | 8 +++++--- > include/linux/perf_event.h | 6 ++++++ > kernel/events/core.c | 11 +++++++---- > 3 files changed, 18 insertions(+), 7 deletions(-) > > diff --git a/arch/s390/kernel/perf_cpum_sf.c b/arch/s390/kernel/perf_cpum_sf.c > index 5b765e3ccf0cadc8..ff9e694f2be45c6b 100644 > --- a/arch/s390/kernel/perf_cpum_sf.c > +++ b/arch/s390/kernel/perf_cpum_sf.c > @@ -996,7 +996,7 @@ static void cpumsf_pmu_disable(struct pmu *pmu) > cpuhw->flags &= ~PMU_F_ENABLED; > } > > -/* perf_exclude_event() - Filter event > +/* perf_event_exclude() - Filter event > * @event: The perf event > * @regs: pt_regs structure > * @sde_regs: Sample-data-entry (sde) regs structure > @@ -1005,7 +1005,7 @@ static void cpumsf_pmu_disable(struct pmu *pmu) > * > * Return non-zero if the event shall be excluded. > */ > -static int perf_exclude_event(struct perf_event *event, struct pt_regs *regs, > +static int perf_event_exclude(struct perf_event *event, struct pt_regs *regs, > struct perf_sf_sde_regs *sde_regs) > { > if (event->attr.exclude_user && user_mode(regs)) > @@ -1088,8 +1088,10 @@ static int perf_push_sample(struct perf_event *event, > data.tid_entry.pid = basic->hpp & LPP_PID_MASK; > > overflow = 0; > - if (perf_exclude_event(event, ®s, sde_regs)) > + if (perf_event_exclude(event, ®s, sde_regs)) { > + atomic64_inc(&event->dropped_samples); > goto out; > + } > if (perf_event_overflow(event, &data, ®s)) { > overflow = 1; > event->pmu->stop(event, 0); For the s390 part: Acked-by: Thomas Richter <tmricht@xxxxxxxxxxxxx> -- Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany -- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Wolfgang Wendt Geschäftsführung: David Faller Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294