Re: [PATCH v9 10/11] virt/steal_governor: Implement steal_governor policy loop

Mete Durlu <[email protected]>
Newsgroups org.kernel.vger.linux-doc,dev.linux.lists.virtualization,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 27/07/2026 16:42, Shrikanth Hegde wrote:
> Hi Yury,
> 
> On 7/25/26 2:35 AM, Yury Norov wrote:
> 
>>
>> In v8 I pointed to the identical function in s390 code, and you agreed
>> to unify them, but that didn't happen. Please do that in the next
>> version.
>>
> 
> This is diff i have now. I assume this is what you had suggested.
> Let me know if it differs.
> 

The chunk below for s390 looks correct to me. I don't see any
difference functionality wise.

> 
> diff --git a/arch/s390/kernel/hiperdispatch.c b/arch/s390/kernel/ 
> hiperdispatch.c
> index 217206522266..0c658f229b17 100644
> --- a/arch/s390/kernel/hiperdispatch.c
> +++ b/arch/s390/kernel/hiperdispatch.c
> @@ -210,13 +210,10 @@ static unsigned long 
> hd_calculate_steal_percentage(void)
>          int cpus, cpu;
>          ktime_t now;
> 
> -       cpus = 0;
> -       steal = 0;
>          percentage = 0;
> -       for_each_cpu(cpu, &hd_vmvl_cpumask) {
> -               steal += kcpustat_cpu(cpu).cpustat[CPUTIME_STEAL];
> -               cpus++;
> -       }
> +       steal = kcpustat_field_total(CPUTIME_STEAL, &hd_vmvl_cpumask);
> +       cpus = cpumask_weight(&hd_vmvl_cpumask);
> +

[..snip..]

> --- a/include/linux/kernel_stat.h
> +++ b/include/linux/kernel_stat.h
> @@ -196,6 +196,17 @@ static inline void kcpustat_cpu_fetch(struct 
> kernel_cpustat *dst, int cpu)
>   }
>   #endif /* !CONFIG_VIRT_CPU_ACCOUNTING_GEN */
> 
> +static inline u64 kcpustat_field_total(enum cpu_usage_stat usage, const 
> struct cpumask *cpus)
> +{
> +       u64 total = 0;
> +       int cpu;
> +
> +       for_each_cpu(cpu, cpus)
> +               total += kcpustat_field(usage, cpu);
> +
> +       return total;
> +}
> +
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.