Re: [PATCH v6 1/9] smp: Run functions concurrently in smp_call_function_many_cond()

From: Peter Zijlstra
Date: Mon Mar 01 2021 - 16:06:45 EST


On Sat, Feb 20, 2021 at 03:17:04PM -0800, Nadav Amit wrote:
> + /*
> + * Choose the most efficient way to send an IPI. Note that the
> + * number of CPUs might be zero due to concurrent changes to the
> + * provided mask.
> + */
> + if (nr_cpus == 1)
> + arch_send_call_function_single_ipi(last_cpu);
> + else if (likely(nr_cpus > 1))
> + arch_send_call_function_ipi_mask(cfd->cpumask_ipi);

I just ran into conflicts with another patch set, and noticed that the
above should probably be:

if (nr_cpus == 1)
send_call_function_single_ipi(last_cpu);
else if (likely(nr_cpus > 1))
arch_send_call_function_ipi_mask(cfd->cpumask_ipi);

Which will avoid the IPI when @last_cpu is idle.