qemu-patch-raspberry4/include
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
..
block block: change default of .has_zero_init to 0 2013-06-28 13:52:35 +02:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
exec hwaddr: Make hwaddr type usable beyond softmmu 2013-06-28 13:25:13 +02:00
fpu softfloat: Implement uint64_to_float128 2013-01-05 10:12:50 +00:00
hw virtio-net: add feature bit for any header s/g 2013-07-15 21:26:26 +03:00
migration linux-user: Fix compilation failure 2013-06-27 15:38:35 -05:00
monitor net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
net net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qapi qerror: drop QERR_OPEN_FILE_FAILED macro 2013-06-17 11:01:14 -04:00
qemu pci: store PCI hole ranges in guestinfo structure 2013-07-04 10:40:56 +03:00
qom cpu: Turn cpu_unassigned_access() into a CPUState hook 2013-06-28 13:25:13 +02:00
sysemu KVM: PIC: Only commit irq routing when necessary 2013-07-01 01:11:14 +02:00
ui vnc: use booleans for vnc_connect, vnc_listen_read and vnc_display_add_client 2013-06-21 22:52:50 +04:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h include/elf.h: add aarch64 ELF machine and relocs 2013-06-12 16:20:22 +01:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h cpu: Change qemu_init_vcpu() argument to CPUState 2013-06-28 13:25:13 +02:00
qemu-io.h qemu-io: Interface cleanup 2013-06-06 11:27:05 +02:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00