[PATCH V3 11/16] arc/perf: Remove driver-specific throttle support

kan.liang@linux.intel.com posted 16 patches 7 months, 1 week ago
There is a newer version of this series
[PATCH V3 11/16] arc/perf: Remove driver-specific throttle support
Posted by kan.liang@linux.intel.com 7 months, 1 week ago
From: Kan Liang <kan.liang@linux.intel.com>

The throttle support has been added in the generic code. Remove
the driver-specific throttle support.

Besides the throttle, perf_event_overflow may return true because of
event_limit. It already does an inatomic event disable. The pmu->stop
is not required either.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Cc: Vineet Gupta <vgupta@ikernel.org>
Cc: linux-snps-arc@lists.infradead.org
---
 arch/arc/kernel/perf_event.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arc/kernel/perf_event.c b/arch/arc/kernel/perf_event.c
index 6e5a651cd75c..ed6d4f0cd621 100644
--- a/arch/arc/kernel/perf_event.c
+++ b/arch/arc/kernel/perf_event.c
@@ -599,10 +599,8 @@ static irqreturn_t arc_pmu_intr(int irq, void *dev)
 
 		arc_perf_event_update(event, &event->hw, event->hw.idx);
 		perf_sample_data_init(&data, 0, hwc->last_period);
-		if (arc_pmu_event_set_period(event)) {
-			if (perf_event_overflow(event, &data, regs))
-				arc_pmu_stop(event, 0);
-		}
+		if (arc_pmu_event_set_period(event))
+			perf_event_overflow(event, &data, regs);
 
 		active_ints &= ~BIT(idx);
 	} while (active_ints);
-- 
2.38.1
Re: [PATCH V3 11/16] arc/perf: Remove driver-specific throttle support
Posted by Vineet Gupta 7 months ago

On 5/16/25 11:28, kan.liang@linux.intel.com wrote:
> From: Kan Liang <kan.liang@linux.intel.com>
>
> The throttle support has been added in the generic code. Remove
> the driver-specific throttle support.
>
> Besides the throttle, perf_event_overflow may return true because of
> event_limit. It already does an inatomic event disable. The pmu->stop
> is not required either.
>
> Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
> Cc: Vineet Gupta <vgupta@ikernel.org>
> Cc: linux-snps-arc@lists.infradead.org
Acked-by: Vineet Gupta <vgupta@kernel.org>

Please let me know if you wane to take it via ARC tree.

Thx,
-Vineet

> ---
>  arch/arc/kernel/perf_event.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arc/kernel/perf_event.c b/arch/arc/kernel/perf_event.c
> index 6e5a651cd75c..ed6d4f0cd621 100644
> --- a/arch/arc/kernel/perf_event.c
> +++ b/arch/arc/kernel/perf_event.c
> @@ -599,10 +599,8 @@ static irqreturn_t arc_pmu_intr(int irq, void *dev)
>  
>  		arc_perf_event_update(event, &event->hw, event->hw.idx);
>  		perf_sample_data_init(&data, 0, hwc->last_period);
> -		if (arc_pmu_event_set_period(event)) {
> -			if (perf_event_overflow(event, &data, regs))
> -				arc_pmu_stop(event, 0);
> -		}
> +		if (arc_pmu_event_set_period(event))
> +			perf_event_overflow(event, &data, regs);
>  
>  		active_ints &= ~BIT(idx);
>  	} while (active_ints);