Re: [PATCH v3 3/9] memory-hotplug: flush the work for the node whenthe node is offlined

From: KOSAKI Motohiro
Date: Fri Oct 19 2012 - 03:01:23 EST


On Fri, Oct 19, 2012 at 2:46 AM, <wency@xxxxxxxxxxxxxx> wrote:
> From: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
>
> If the node is onlined after it is offlined, we will clear the memory
> to store the node's information. This structure contains struct work,
> so we should flush work before the work's information is cleared.

This explanation is incorrect. Even if you don't call memset(), you should
call flush_work() at offline event. Because of, after offlinining, we
shouldn't touch any node data. Alive workqueue violate this principle.

And, hmmm... Wait. Usually workqueue shutdowning has two phase. 1)
inhibit enqueue new work 2) flush work. Otherwise other cpus may
enqueue new work after flush_work(). Where is (1)?
--
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/