Re: [PATCH bpf] bpf: Use cpumask_next_wrap() in get_next_cpu()

From: Fushuai Wang
Date: Sun Aug 17 2025 - 23:00:10 EST


>> Replace the manual sequence of cpumask_next() and cpumask_first()
>> with a single call to cpumask_next_wrap() in get_next_cpu().
>>
>> Signed-off-by: Fushuai Wang <wangfushuai@xxxxxxxxx>
>> ---
>> kernel/bpf/bpf_lru_list.c | 5 +----
>> 1 file changed, 1 insertion(+), 4 deletions(-)
>>
>> diff --git a/kernel/bpf/bpf_lru_list.c b/kernel/bpf/bpf_lru_list.c
>> index 2d6e1c98d8ad..34881f4da8ae 100644
>> --- a/kernel/bpf/bpf_lru_list.c
>> +++ b/kernel/bpf/bpf_lru_list.c
>> @@ -21,10 +21,7 @@
>>
>> static int get_next_cpu(int cpu)
>> {
>> - cpu = cpumask_next(cpu, cpu_possible_mask);
>> - if (cpu >= nr_cpu_ids)
>> - cpu = cpumask_first(cpu_possible_mask);
>> - return cpu;
>> + return cpumask_next_wrap(cpu, cpu_possible_mask);
>> }
>
> Lets then get rid of the get_next_cpu() function since its only used
> once, and just use the cpumask_next_wrap() at call site ?
>
> [...]
> raw_spin_unlock_irqrestore(&steal_loc_l->lock, flags);
>
> steal = cpumask_next_wrap(steal, cpu_possible_mask);
> } while (!node && steal != first_steal);
> [...]
>

Thank you for your suggestion.

> Btw, in $subj please target [PATCH bpf-next] given its a cleanup,
> not a fix.

I will send a v2 shortly.

Regards,
Wang.