WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] poor domU VBD performance.

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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel