Re: [PATCH v4 2/5] perf/core: Export perf_exclude_event()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, &regs, sde_regs))
> +	if (perf_event_exclude(event, &regs, sde_regs)) {
> +		atomic64_inc(&event->dropped_samples);
>  		goto out;
> +	}
>  	if (perf_event_overflow(event, &data, &regs)) {
>  		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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux