Re: [patch 5/8] x86_64:Dont do broadcast IPIs when hotplug is enabled in flat mode.

Andi Kleen
2005-08-04T10:51:47Z

> static void flat_send_IPI_allbutself(int vector)
> {
> +#ifndef CONFIG_HOTPLUG_CPU
> if (((num_online_cpus()) - 1) >= 1)
> __send_IPI_shortcut(APIC_DEST_ALLBUT, vector,APIC_DEST_LOGICAL);
> +#else
> + cpumask_t allbutme = cpu_online_map;
> + int me = get_cpu(); /* Ensure we are not preempted when we clear */
> + cpu_clear(me, allbutme);
> + flat_send_IPI_mask(allbutme, vector);
> + put_cpu();

This still needs the num_online_cpus()s check.

-Andi