Re: [discuss] Re: [patch 0/4] CPU hot-plug support for x86_64

From: Srivatsa Vaddagiri
Date: Tue May 24 2005 - 03:57:29 EST


On Mon, May 23, 2005 at 11:01:06PM -0700, Ashok Raj wrote:
> We do this today in x86_64 case when we setup this upcomming cpu in
> cpu_online_map. But the issue is when we use ipi broadcast, its an ugly

I don't know of x86-64, but atleast on x86 ipi broadcast will send
to _all_ CPUs present, right? I mean the h/w does not know of the offline
CPUs and will send to them also. This could lead to a problem for the offline
CPUs when they come online and can take a spurious IPI (unless
there is support in h/w to clear pending IPI before doing STI).

> case when we dont know if the new cpu is receiving this as well, and
> we dont have real control there.
>
> i converted to use send_IPI_mask(cpu_online_map, CALL_FUNCTION_VECTOR)
> instead of the send_IPI_allbutself(CALL_FUNCTION_VECTOR) in
> __smp_call_function(), apart from taking the call_lock before setting the
> bit in online_map.
>
> Since Andi is concerned about tlb flush intr performance in the 8cpu and less
> case, iam planning temporarily use a startup cmd or choose this option
> automatically if CONFIG_HOTPLUG_CPU is set for the time being, until we can
> find a clean solution that satisfies everyone.


I think this should be the recommended approach (using send_IPI_mask if
CONFIG_HOTPLUG_CPU is defined) unless h/w is intelligent enough
that it avoids sending IPIs to offline CPUs or it supports clearing
pending interrupts.

--


Thanks and Regards,
Srivatsa Vaddagiri,
Linux Technology Center,
IBM Software Labs,
Bangalore, INDIA - 560017
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/