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.

To: Andrew Theurer <habanero@xxxxxxxxxx>
Subject: Re: [Xen-devel] poor domU VBD performance.
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 31 Mar 2005 22:15:06 +0100
Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, Xen development list <xen-devel@xxxxxxxxxxxxxxxxxxx>, Kurt Garloff <garloff@xxxxxxx>, Philip R Auld <pauld@xxxxxxxxxxx>, Vincent Hanquez <tab@xxxxxxxxx>, Jens Axboe <axboe@xxxxxxx>, Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
Delivery-date: Thu, 31 Mar 2005 21:16:32 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <200503311449.20610.habanero@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <A95E2296287EAD4EB592B5DEEFCE0E9D1E3975@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <200503311449.20610.habanero@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

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

 Thanks,
 Keir


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