From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCH UPDATED 1/3] vhost: replace vhost_workqueue with per-vhost kthread Date: Mon, 26 Jul 2010 19:31:08 +0300 Message-ID: <20100726163108.GE26412@redhat.com> References: <4C06A580.9060300@kernel.org> <20100722155840.GA1743@redhat.com> <4C48B664.9000109@kernel.org> <20100724191447.GA4972@redhat.com> <4C4BEAA2.6040301@kernel.org> <20100726152510.GA26223@redhat.com> <4C4DAB14.5050809@kernel.org> <20100726155014.GA26412@redhat.com> <4C4DB247.9060709@kernel.org> <4C4DB466.6000409@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Oleg Nesterov , Sridhar Samudrala , netdev , lkml , "kvm@vger.kernel.org" , Andrew Morton , Dmitri Vorobiev , Jiri Kosina , Thomas Gleixner , Ingo Molnar , Andi Kleen To: Tejun Heo Return-path: Content-Disposition: inline In-Reply-To: <4C4DB466.6000409@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Mon, Jul 26, 2010 at 06:14:30PM +0200, Tejun Heo wrote: > Just one more thing. > > On 07/26/2010 06:05 PM, Tejun Heo wrote: > > * Placing try_to_freeze() could be a bit annoying. It shouldn't be > > executed when there's a work to flush. BTW why is this important? We could always get another work and flush right after try_to_freeze, and then flush would block for a long time. BTW the vhost patch you sent does not do this at all. I am guessing it is because our thread is not freezable? > * Similar issue exists for kthread_stop(). The kthread shouldn't exit > while there's a work to flush (please note that kthread_worker > interface allows detaching / attaching worker kthread during > operation, so it should remain in consistent state with regard to > flushing). > > Thanks. Not sure I agree here. Users must synchronise flush and stop calls. Otherwise a work might get queued after stop is called, and you won't be able to flush it. > -- > tejun