]> git.proxmox.com Git - mirror_qemu.git/commit - include/hw/i386/pc.h
virtio-net: add feature bit for any header s/g
authorMichael S. Tsirkin <mst@redhat.com>
Thu, 11 Jul 2013 13:06:46 +0000 (16:06 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 15 Jul 2013 18:26:26 +0000 (21:26 +0300)
commit488f069bd1f3aeb6ee748acb02b7581831bcb3f8
tree2a696b07fe49fe6e76293d4882fa0467e2d29338
parentb1be42803b31a913bab65bab563a8760ad2e7f7f
virtio-net: add feature bit for any header s/g

Old qemu versions required that 1st s/g entry is the header.

Since QEMU 1.5, patchset titled "virtio-net: iovec handling cleanup"
removed this limitation but a feature bit is needed so guests know it's
safe to lay out header differently.

This patch applies on top and adds such a feature bit to QEMU.
It is set by default for virtio-net.
virtio net header inline with the data is beneficial
for latency and small packet bandwidth - guest driver
code utilizing this feature has been acked but missed 3.11
by a narrow margin, it's pending for 3.12.

This feature bit is cleared by default when compatibility with old
machine types is requested.

Other performance-sensitive devices (blk and scsi)
don't yet support arbitrary s/g layouts, so
we only set this bit for virtio-net for now.
There are plans to allow arbitrary layouts there, but
no code has been posted yet.

Cc: Rusty Russell <rusty@rustcorp.com.au>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
include/hw/i386/pc.h
include/hw/virtio/virtio-net.h
include/hw/virtio/virtio.h