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