|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] Re: [kvm-devel] [PATCH RFC 3/3] virtio infrastructure:	examp
 
| 
To:  | 
carsteno@xxxxxxxxxx | 
 
| 
Subject:  | 
[Xen-devel] Re: [kvm-devel] [PATCH RFC 3/3] virtio infrastructure:	example block driver | 
 
| 
From:  | 
Rusty Russell <rusty@xxxxxxxxxxxxxxx> | 
 
| 
Date:  | 
Fri, 01 Jun 2007 09:39:25 +1000 | 
 
| 
Cc:  | 
Jimi Xenidis <jimix@xxxxxxxxxxxxxx>,	Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,	Xen Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>,	"jmk@xxxxxxxxxxxxxxxxxxx" <jmk@xxxxxxxxxxxxxxxxxxx>,	Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>,	kvm-devel <kvm-devel@xxxxxxxxxxxxxxxxxxxxx>, mschwid2@xxxxxxxxxxxxxxxxxx,	virtualization <virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx>,	Christian Borntraeger <cborntra@xxxxxxxxxx>,	Suzanne McIntosh <skranjac@xxxxxxxxxx>, Jens Axboe <jens.axboe@xxxxxxxxxx> | 
 
| 
Delivery-date:  | 
Thu, 31 May 2007 16:37:43 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<465EC637.7020504@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:  | 
<1180613947.11133.58.camel@xxxxxxxxxxxxxxxxxxxxx>	<1180614044.11133.61.camel@xxxxxxxxxxxxxxxxxxxxx>	<1180614091.11133.63.camel@xxxxxxxxxxxxxxxxxxxxx>	<465EC637.7020504@xxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
 
 
On Thu, 2007-05-31 at 14:57 +0200, Carsten Otte wrote:
> Rusty Russell wrote:
> > Example block driver using virtio.
> > 
> > The block driver uses outbufs with sg[0] being the request information
> > (struct virtio_blk_outhdr) with the type, sector and inbuf id.  For a
> > write, the rest of the sg will contain the data to be written.
> > 
> > The first segment of the inbuf is a result code (struct
> > virtio_blk_inhdr).  For a read, the rest of the sg points to the input
> > buffer.
> > 
> > TODO:
> >     1) Ordered tag support.
> Implementing a do_request function has quite a few disadvantages over 
> hooking into q->make_request_fn. This way, we have the device plug 
> (latency), request merging, and I/O scheduling inside the guest.
Now my lack of block-layer knowledge is showing.  I would have thought
that if we want to do things like ionice(1) to work, we have to do some
guest scheduling or pass that information down to the host.
> It seems preferable to do that in the host, especially when requests 
> of multiple guests end up on the same physical media (shared access, 
> or partitioned).
What's the overhead in doing both?
Rusty.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |