Re: [PATCH 10/43] stop_machine: reimplement without using workqueue

From: Oleg Nesterov
Date: Mon Mar 01 2010 - 11:53:23 EST


On 03/02, Tejun Heo wrote:
>
> Hello,
>
> On 03/02/2010 12:37 AM, Oleg Nesterov wrote:
> >
> > Suppose that, when stop_machine_cpu_callback(CPU_POST_DEAD) is called,
> > that stop_cpu() thread T is still running and it is going to check state
> > before schedule().
>
> Oh, I see. I was thinking get/put_online_cpus() block is exclusive
> against cpu_maps_update_begin/done() instead of
> cpu_hotplug_begin/done(). Will update and add comments.

Agreed, a little comment can help.

But, just in case, I forgot to repeat this case is not possible anyway.
_cpu_down() ensures idle_cpu(cpu) == T after __stop_machine(), this means
that this SCHED_FIFO thread we are going to kthread_stop() later can't
be active.

Oleg.

--
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/