Messages in this thread | | | Subject | Re: + generic-ipi-fix-the-race-between-generic_smp_call_function_-and-hotplug_cfd.patch added to -mm tree | From | Suresh Siddha <> | Date | Fri, 18 Sep 2009 19:16:39 -0700 |
| |
On Wed, 2009-09-16 at 20:00 -0700, Xiao Guangrong wrote: > How about manual check/handle pending IPI interruption in the CPU context? > like this: > --- a/kernel/cpu.c > +++ b/kernel/cpu.c > @@ -173,6 +173,9 @@ static int __ref take_cpu_down(void *_param) > struct take_cpu_down_param *param = _param; > int err; > > + generic_smp_call_function_interrupt(); > + generic_smp_call_function_single_interrupt(); > +
At this place, how will you ensure that the smp_call_function initiated by this dying cpu has reached and got serviced at its destination?
All the other cpu's have disabled interrupts in the stop machine state by the time we come here and we can't wait.
| |