qemu/include/hw/virtio
Michael S. Tsirkin 488f069bd1 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>
2013-07-15 21:26:26 +03:00
..
dataplane hw: move headers to include/ 2013-04-08 18:13:10 +02:00
vhost-scsi.h vhost-scsi: new device supporting the tcm_vhost Linux kernel module 2013-04-19 16:18:11 +02:00
vhost.h vhost: Add vhost_commit callback for SeaBIOS ROM region re-mapping 2013-04-19 10:44:17 +02:00
virtio-9p.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
virtio-balloon.h virtio: fix broken aliases. 2013-04-15 10:22:04 -05:00
virtio-blk.h virtio: fix broken aliases. 2013-04-15 10:22:04 -05:00
virtio-bus.h virtio: remove virtiobindings. 2013-04-24 11:50:20 -05:00
virtio-net.h virtio-net: add feature bit for any header s/g 2013-07-15 21:26:26 +03:00
virtio-rng.h virtio-rng: cleanup: use QOM casts. 2013-04-24 11:50:20 -05:00
virtio-scsi.h virtio-scsi: fix the command line compatibility. 2013-05-03 12:05:15 -05:00
virtio-serial.h virtio-console: Also throttle when less was written then requested 2013-04-16 11:52:09 +02:00
virtio.h virtio-net: add feature bit for any header s/g 2013-07-15 21:26:26 +03:00