At 10/19/2012 03:01 PM, KOSAKI Motohiro Wrote:
> On Fri, Oct 19, 2012 at 2:46 AM,  <we...@cn.fujitsu.com> wrote:
>> From: Yasuaki Ishimatsu <isimatu.yasu...@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.

Yes, I will update the description.

> 
> 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)?
> 


We schedule the work only when a memory section is onlined/offlined on this
node. When we come here, all the memory on this node has been offlined,
so we won't enqueue new work to this work. I will add a comment
to descript this.

Thanks
Wen Congyang


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to