[PATCH 0/2] Allow VIRTIO_F_IN_ORDER negotiation with vhost-vdpa

Gautam Dawar posted 2 patches 3 years, 11 months ago
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220215072231.2498-1-gdawar@xilinx.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>, Cornelia Huck <cohuck@redhat.com>
hw/net/virtio-net.c                           |  10 ++
include/standard-headers/asm-x86/kvm_para.h   |   1 +
include/standard-headers/drm/drm_fourcc.h     |  11 ++
include/standard-headers/linux/ethtool.h      |   1 +
include/standard-headers/linux/fuse.h         |  60 +++++++-
include/standard-headers/linux/pci_regs.h     | 142 +++++++++---------
.../standard-headers/linux/virtio_config.h    |   6 +
include/standard-headers/linux/virtio_gpio.h  |  72 +++++++++
include/standard-headers/linux/virtio_i2c.h   |  47 ++++++
include/standard-headers/linux/virtio_iommu.h |   8 +-
.../standard-headers/linux/virtio_pcidev.h    |  65 ++++++++
include/standard-headers/linux/virtio_scmi.h  |  24 +++
linux-headers/asm-generic/unistd.h            |   5 +-
linux-headers/asm-mips/unistd_n32.h           |   2 +
linux-headers/asm-mips/unistd_n64.h           |   2 +
linux-headers/asm-mips/unistd_o32.h           |   2 +
linux-headers/asm-powerpc/unistd_32.h         |   2 +
linux-headers/asm-powerpc/unistd_64.h         |   2 +
linux-headers/asm-riscv/bitsperlong.h         |  14 ++
linux-headers/asm-riscv/mman.h                |   1 +
linux-headers/asm-riscv/unistd.h              |  44 ++++++
linux-headers/asm-s390/unistd_32.h            |   2 +
linux-headers/asm-s390/unistd_64.h            |   2 +
linux-headers/asm-x86/kvm.h                   |  19 ++-
linux-headers/asm-x86/unistd_32.h             |   1 +
linux-headers/asm-x86/unistd_64.h             |   1 +
linux-headers/asm-x86/unistd_x32.h            |   1 +
linux-headers/linux/kvm.h                     |  18 +++
net/vhost-vdpa.c                              |   1 +
29 files changed, 490 insertions(+), 76 deletions(-)
create mode 100644 include/standard-headers/linux/virtio_gpio.h
create mode 100644 include/standard-headers/linux/virtio_i2c.h
create mode 100644 include/standard-headers/linux/virtio_pcidev.h
create mode 100644 include/standard-headers/linux/virtio_scmi.h
create mode 100644 linux-headers/asm-riscv/bitsperlong.h
create mode 100644 linux-headers/asm-riscv/mman.h
create mode 100644 linux-headers/asm-riscv/unistd.h
[PATCH 0/2] Allow VIRTIO_F_IN_ORDER negotiation with vhost-vdpa
Posted by Gautam Dawar 3 years, 11 months ago
The VIRTIO_F_IN_ORDER feature is implemented by DPDK virtio_net driver
but not by the Linux kernel's virtio_net driver.

However, this feature can't be tested using vhost-vdpa even with HW devices
that implement it as VIRTIO_F_IN_ORDER isn't defined in kernel's
virtio_config.h header file yet and hence is not available in QEMU.

Accordingly, as a first step, a patch for defining VIRTIO_F_IN_ORDER in
kernel (version 5.17-rc4, file: include/uapi/linux/virtio_config.h) has
been published.

This patch series first brings in VIRTIO_F_IN_ORDER's definition from Linux
kernel using the script update-linux-headers.sh.
Next, it adds VIRTIO_F_IN_ORDER to host_features in case the underlying
vdpa device exposes this feature bit in device featues there by making it
available for negotiation with the virtio_net driver.

Gautam Dawar (2):
  linux headers: update against Linux 5.17-rc4
  Allow VIRTIO_F_IN_ORDER to be negotiated for vdpa devices

 hw/net/virtio-net.c                           |  10 ++
 include/standard-headers/asm-x86/kvm_para.h   |   1 +
 include/standard-headers/drm/drm_fourcc.h     |  11 ++
 include/standard-headers/linux/ethtool.h      |   1 +
 include/standard-headers/linux/fuse.h         |  60 +++++++-
 include/standard-headers/linux/pci_regs.h     | 142 +++++++++---------
 .../standard-headers/linux/virtio_config.h    |   6 +
 include/standard-headers/linux/virtio_gpio.h  |  72 +++++++++
 include/standard-headers/linux/virtio_i2c.h   |  47 ++++++
 include/standard-headers/linux/virtio_iommu.h |   8 +-
 .../standard-headers/linux/virtio_pcidev.h    |  65 ++++++++
 include/standard-headers/linux/virtio_scmi.h  |  24 +++
 linux-headers/asm-generic/unistd.h            |   5 +-
 linux-headers/asm-mips/unistd_n32.h           |   2 +
 linux-headers/asm-mips/unistd_n64.h           |   2 +
 linux-headers/asm-mips/unistd_o32.h           |   2 +
 linux-headers/asm-powerpc/unistd_32.h         |   2 +
 linux-headers/asm-powerpc/unistd_64.h         |   2 +
 linux-headers/asm-riscv/bitsperlong.h         |  14 ++
 linux-headers/asm-riscv/mman.h                |   1 +
 linux-headers/asm-riscv/unistd.h              |  44 ++++++
 linux-headers/asm-s390/unistd_32.h            |   2 +
 linux-headers/asm-s390/unistd_64.h            |   2 +
 linux-headers/asm-x86/kvm.h                   |  19 ++-
 linux-headers/asm-x86/unistd_32.h             |   1 +
 linux-headers/asm-x86/unistd_64.h             |   1 +
 linux-headers/asm-x86/unistd_x32.h            |   1 +
 linux-headers/linux/kvm.h                     |  18 +++
 net/vhost-vdpa.c                              |   1 +
 29 files changed, 490 insertions(+), 76 deletions(-)
 create mode 100644 include/standard-headers/linux/virtio_gpio.h
 create mode 100644 include/standard-headers/linux/virtio_i2c.h
 create mode 100644 include/standard-headers/linux/virtio_pcidev.h
 create mode 100644 include/standard-headers/linux/virtio_scmi.h
 create mode 100644 linux-headers/asm-riscv/bitsperlong.h
 create mode 100644 linux-headers/asm-riscv/mman.h
 create mode 100644 linux-headers/asm-riscv/unistd.h

-- 
2.30.1