Messages in this thread | | | From | KOSAKI Motohiro <> | Date | Fri, 19 Oct 2012 03:01:12 -0400 | Subject | Re: [PATCH v3 3/9] memory-hotplug: flush the work for the node when the node is offlined |
| |
On Fri, Oct 19, 2012 at 2:46 AM, <wency@cn.fujitsu.com> wrote: > From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> > > 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)?
| |