Re: [PATCH v7 2/6] sched: Add helper kstat_cpu_softirqs_sum()

From: Frederic Weisbecker
Date: Mon Nov 14 2022 - 06:43:03 EST


On Fri, Nov 11, 2022 at 09:07:05PM +0800, Zhen Lei wrote:
> Similar to kstat_cpu_irqs_sum(), it counts the sum of all software
> interrupts on a specified CPU.
>
> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> ---
> include/linux/kernel_stat.h | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
> index 90e2fdc17d79ff8..898076e173a928a 100644
> --- a/include/linux/kernel_stat.h
> +++ b/include/linux/kernel_stat.h
> @@ -67,6 +67,17 @@ static inline unsigned int kstat_softirqs_cpu(unsigned int irq, int cpu)
> return kstat_cpu(cpu).softirqs[irq];
> }
>
> +static inline unsigned int kstat_cpu_softirqs_sum(int cpu)
> +{
> + int i;
> + unsigned int sum = 0;
> +
> + for (i = 0; i < NR_SOFTIRQS; i++)
> + sum += kstat_softirqs_cpu(i, cpu);

This should return a u64 or at least an unsigned long so that high
numbers of CPUs don't overflow easily.

Thanks.

> +
> + return sum;
> +}
> +
> /*
> * Number of interrupts per specific IRQ source, since bootup
> */
> --
> 2.25.1
>