|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] poor domU VBD performance.
To: |
Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> |
Subject: |
Re: [Xen-devel] poor domU VBD performance. |
From: |
Jens Axboe <axboe@xxxxxxx> |
Date: |
Fri, 1 Apr 2005 07:43:54 +0200 |
Cc: |
Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, Xen development list <xen-devel@xxxxxxxxxxxxxxxxxxx>, Kurt Garloff <garloff@xxxxxxx>, Andrew Theurer <habanero@xxxxxxxxxx>, Philip R Auld <pauld@xxxxxxxxxxx>, Vincent Hanquez <tab@xxxxxxxxx>, Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> |
Delivery-date: |
Fri, 01 Apr 2005 05:44:06 +0000 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<1fd8d5692d98c4a9f0687f24ecb3a395@xxxxxxxxxxxx> |
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> <1fd8d5692d98c4a9f0687f24ecb3a395@xxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
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
|
|
|
|
|