Re: [PATCH] virtio-spec: add field for scsi command size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Michael S. Tsirkin" <mst@xxxxxxxxxx> writes:
> On Mon, Jul 08, 2013 at 10:51:39AM +0930, Rusty Russell wrote:
>> "Michael S. Tsirkin" <mst@xxxxxxxxxx> writes:
>> > On Thu, Jul 04, 2013 at 10:49:42AM +0300, Michael S. Tsirkin wrote:
>> >> > case).
>> >> > 
>> >> > Regrettably, initial driver implementations used simple layouts
>> >> > and devices came to rely on it, despite this specification 
>> >> > wording. It is thus recommended that drivers be conservative in 
>> >> > their assumptions, unless specific device features indicate that 
>> >> > general layout is permitted using VIRTIO_F_ANY_LAYOUT. In
>> >> > addition, some implementations may have large-but-reasonable
>> >> > restrictions on total descriptor size (such as based on IOV_MAX
>> >> > in the host OS). This has not been a problem in practice: little
>> >> > sympathy will be given to drivers which create unreasonably-sized
>> >> > descriptors such as dividing a network packet into 1500
>> >> > single-byte descriptors!
>> >> 
>> >> That's fine with me too.
>> >> So which bit are we using for this?
>> >> I'd like to rebase to latest bits and merge the optimization for 3.11.
>> >
>> >
>> > Rusty, could you please tell me which feature bit do you
>> > prefer for ANY_LAYOUT?
>> > It would be sad to miss another release of both qemu and kernel with
>> > this obvious optimization for the only reason we can't settle on a bit
>> > to use to signal it.
>> 
>> Let's use bit 30.  Here's the kernel patch:
>> 
>> virtio: VIRTIO_F_ANY_LAYOUT feature
>> 
>> Also known as the "no really, I read the spec" bit.
>> 
>> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
>
> This is already used in qemu:
> /* A guest should never accept this.  It implies negotiation is broken. */
> #define VIRTIO_F_BAD_FEATURE            30

How annoying.  Changed to bit 27, which isn't used.  Which forced a
rebase of my virtio-next tree, but I really don't want the old version
exposed in mainline, even for 3 commits.

Thanks,
Rusty.

commit 62525a00b87cc967bce9779d63fcc84fb9199130
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date:   Mon Jul 8 10:33:37 2013 +0930

    virtio: VIRTIO_F_ANY_LAYOUT feature
    
    Also known as the "no really, I read the spec" bit.
    
    Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h
index b7cda39..3ce768c 100644
--- a/include/uapi/linux/virtio_config.h
+++ b/include/uapi/linux/virtio_config.h
@@ -51,4 +51,7 @@
  * suppressed them? */
 #define VIRTIO_F_NOTIFY_ON_EMPTY	24
 
+/* Can the device handle any descriptor layout? */
+#define VIRTIO_F_ANY_LAYOUT		27
+
 #endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux