Patchwork virtio spec: add virtio-blk max sectors feature

login
register
mail settings
Submitter Avishay Traeger1
Date Dec. 3, 2009, 8:42 a.m.
Message ID <OF38B713F7.02DD66D1-ONC2257681.002F3CAD-C2257681.002FDEA6@il.ibm.com>
Download mbox | patch
Permalink /patch/40136/
State New
Headers show

Comments

Avishay Traeger1 - Dec. 3, 2009, 8:42 a.m.
I previously submitted a patch to have the guest virtio-blk driver get the
value for the maximum I/O size from the host bdrv, rather than assume that
there is no limit.  Avi requested that I first patch the virtio spec
(http://ozlabs.org/~rusty/virtio-spec/).  Below is that patch.

Please CC me on replies, as I am not subscribed.

Thank you,
Avishay

Signed-off-by: Avishay Traeger <avishay@il.ibm.com>

 \begin_layout Section*
Avi Kivity - Dec. 3, 2009, 9:58 a.m.
On 12/03/2009 10:42 AM, Avishay Traeger1 wrote:
> I previously submitted a patch to have the guest virtio-blk driver get the
> value for the maximum I/O size from the host bdrv, rather than assume that
> there is no limit.  Avi requested that I first patch the virtio spec
> (http://ozlabs.org/~rusty/virtio-spec/).  Below is that patch.
>
> Please CC me on replies, as I am not subscribed.
>
>    

Copying Rusty and virtualization@.

> Thank you,
> Avishay
>
> Signed-off-by: Avishay Traeger<avishay@il.ibm.com>
>
> --- virtio-spec-0.8.2.lyx     2009-11-30 16:34:16.000000000 +0200
> +++ virtio-spec-0.8.2-mod.lyx 2009-12-01 16:04:36.000000000 +0200
> @@ -3999,6 +3999,20 @@
>   \end_inset
>
>   .
> +\change_inserted 0 1259672174
> +
> +\end_layout
> +
> +\begin_layout Description
> +
> +\change_inserted 0 1259672252
> +VIRTIO_BLK_F_SECTOR_MAX
> +\begin_inset space ~
> +\end_inset
> +
> +(10) Maximum sectors in an I/O.
> +\change_unchanged
> +
>   \end_layout
>
>   \end_deeper
> @@ -4068,6 +4082,17 @@
>   \begin_layout Plain Layout
>
>        u32 blk_size;
> +\change_inserted 0 1259672274
> +
> +\end_layout
> +
> +\begin_layout Plain Layout
> +
> +\change_inserted 0 1259672305
> +
> +     u32 sectors_max;
> +\change_unchanged
> +
>   \end_layout
>
>   \begin_layout Plain Layout
> @@ -4107,6 +4132,18 @@
>   \begin_layout Enumerate
>   If the VIRTIO_BLK_F_RO feature is set by the device, any write requests
>    will fail.
> +\change_inserted 0 1259672345
> +
> +\end_layout
> +
> +\begin_layout Enumerate
> +
> +\change_inserted 0 1259672454
> +If the VIRTIO_BLK_F_SECTOR_MAX feature is negotiated, the sectors_max
> field
> + should be read to determine the maximum I/O size for the driver to use.
> + No requests should be submitted which go beyond this limit.
> +\change_unchanged
> +
>   \end_layout
>
>   \begin_layout Section*
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Rusty Russell - Dec. 8, 2009, 5:48 a.m.
On Thu, 3 Dec 2009 08:28:38 pm Avi Kivity wrote:
> On 12/03/2009 10:42 AM, Avishay Traeger1 wrote:
> > I previously submitted a patch to have the guest virtio-blk driver get the
> > value for the maximum I/O size from the host bdrv, rather than assume that
> > there is no limit.  Avi requested that I first patch the virtio spec
> > (http://ozlabs.org/~rusty/virtio-spec/).  Below is that patch.
> >
> > Please CC me on replies, as I am not subscribed.
> >
> >    
> 
> Copying Rusty and virtualization@.

Thanks Avi...

Avishay; this would be the total sectors in an I/O, as separate from SIZE_MAX
(maximum size of any single scatterlist entry) and SEG_MAX (maximum number of
scatterlist entries)?

Seems like a reasonable idea; esp if you need it.

Thanks!
Rusty.
Avishay Traeger1 - Dec. 8, 2009, 9:44 a.m.
Rusty Russell <rusty@rustcorp.com.au> wrote on 12/08/2009 07:48:00 AM:
> Avishay; this would be the total sectors in an I/O, as separate from
SIZE_MAX
> (maximum size of any single scatterlist entry) and SEG_MAX (maximum
number of
> scatterlist entries)?

Correct.  In the guest virtblk driver, it changes the call to
blk_queue_max_sectors().

> Seems like a reasonable idea; esp if you need it.

I do.

> Thanks!
> Rusty.

Sure.  Avi - do you want me to resubmit the kvm and qemu patches?

Thanks,
Avishay
Avi Kivity - Dec. 8, 2009, 9:50 a.m.
On 12/08/2009 11:44 AM, Avishay Traeger1 wrote:
>
>> Thanks!
>> Rusty.
>>      
> Sure.  Avi - do you want me to resubmit the kvm and qemu patches?
>    

You mean the virtio and qemu patches.  That's up to their maintainers 
(Rusty and Anthony).

Patch

--- virtio-spec-0.8.2.lyx     2009-11-30 16:34:16.000000000 +0200
+++ virtio-spec-0.8.2-mod.lyx 2009-12-01 16:04:36.000000000 +0200
@@ -3999,6 +3999,20 @@ 
 \end_inset

 .
+\change_inserted 0 1259672174
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 0 1259672252
+VIRTIO_BLK_F_SECTOR_MAX
+\begin_inset space ~
+\end_inset
+
+(10) Maximum sectors in an I/O.
+\change_unchanged
+
 \end_layout

 \end_deeper
@@ -4068,6 +4082,17 @@ 
 \begin_layout Plain Layout

      u32 blk_size;
+\change_inserted 0 1259672274
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\change_inserted 0 1259672305
+
+     u32 sectors_max;
+\change_unchanged
+
 \end_layout

 \begin_layout Plain Layout
@@ -4107,6 +4132,18 @@ 
 \begin_layout Enumerate
 If the VIRTIO_BLK_F_RO feature is set by the device, any write requests
  will fail.
+\change_inserted 0 1259672345
+
+\end_layout
+
+\begin_layout Enumerate
+
+\change_inserted 0 1259672454
+If the VIRTIO_BLK_F_SECTOR_MAX feature is negotiated, the sectors_max
field
+ should be read to determine the maximum I/O size for the driver to use.
+ No requests should be submitted which go beyond this limit.
+\change_unchanged
+
 \end_layout