• M
    virtio-net: add feature bit for any header s/g · 488f069b
    Michael S. Tsirkin 提交于
    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: NLaszlo Ersek <lersek@redhat.com>
    Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
    488f069b
virtio.h 9.3 KB