From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: poor domU VBD performance. Date: Fri, 1 Apr 2005 07:43:54 +0200 Message-ID: <20050401054349.GA1747@suse.de> References: <200503311449.20610.habanero@us.ibm.com> <1fd8d5692d98c4a9f0687f24ecb3a395@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1fd8d5692d98c4a9f0687f24ecb3a395@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: Ian Pratt , Xen development list , Kurt Garloff , Andrew Theurer , Philip R Auld , Vincent Hanquez , Christian Limpach List-Id: xen-devel@lists.xenproject.org On Thu, Mar 31 2005, Keir Fraser wrote: > > On 31 Mar 2005, at 21:49, Andrew Theurer wrote: > > >BTW, I am now getting this with xen-unstable: > > > >Process xenblkd (pid: 730, threadinfo=f7cc4000 task=f7c42510) > >Stack: c022d172 f44b1a08 f363c6f0 f7cc4000 c046d40c c02849f8 f44b1a08 > >00000010 > > 00000000 f7c42510 c0115b0a 00000000 00000000 f7c42510 c17f1e48 > >c01092e6 > > 00000000 f7c42510 c0115b0a 00100100 00200200 00000000 00000000 > >00000000 > > I wonder if blk_run_queue() is not the right thing to call. For > example, it ignores whether the queue has been forcibly stopped by the > underlying driver and doesn't check whether there are any requests that > actually require pushing. Plus various drivers (swraid and probably > lvm) have their own unplug function and blk_run_queue doesn't handle > that. > > Could you try again, but replace calls to blk_run_queue(plugged_queue) > in blkback.c with: > if ( plugged_queue->unplug_fn ) > plugged_queue->unplug_fn(plugged_queue); > > This looks like a better match with what various other drivers do (e.g. > swraid). Yes you are right, you really want to just unplug it. That should work correctly in all cases. Remember that ->unplug_fn must not be called with any locks called. -- Jens Axboe