> +             /*
> +              * 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 or cpu_online_mask.
> +              */

Since we have preemption disabled here, I don't think online mask can
shrink, cpu-offline uses stop_machine().

> +             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);
> +     }

Reply via email to