[PATCH v4 00/14]vDPA support in qemu

Cindy Lu posted 14 patches 3 years, 9 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200701145538.22333-1-lulu@redhat.com
Maintainers: Jason Wang <jasowang@redhat.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>
configure                         |  21 ++
docs/interop/index.rst            |   1 +
docs/interop/vhost-vdpa.rst       |  17 ++
hw/net/vhost_net-stub.c           |  11 +
hw/net/vhost_net.c                |  45 ++-
hw/net/virtio-net.c               |  19 ++
hw/virtio/Makefile.objs           |   1 +
hw/virtio/vhost-backend.c         |   6 +
hw/virtio/vhost-vdpa.c            | 475 ++++++++++++++++++++++++++++++
hw/virtio/vhost.c                 |  52 +++-
hw/virtio/virtio-pci.c            |  13 +
hw/virtio/virtio.c                |   6 +
include/hw/virtio/vhost-backend.h |  19 +-
include/hw/virtio/vhost-vdpa.h    |  26 ++
include/hw/virtio/vhost.h         |   7 +
include/hw/virtio/virtio-bus.h    |   4 +
include/net/net.h                 |   1 +
include/net/vhost-vdpa.h          |  22 ++
include/net/vhost_net.h           |   5 +
net/Makefile.objs                 |   2 +-
net/clients.h                     |   2 +
net/net.c                         |  10 +
net/vhost-vdpa.c                  | 228 ++++++++++++++
qapi/net.json                     |  28 +-
qemu-options.hx                   |  12 +
25 files changed, 1004 insertions(+), 29 deletions(-)
create mode 100644 docs/interop/vhost-vdpa.rst
create mode 100644 hw/virtio/vhost-vdpa.c
create mode 100644 include/hw/virtio/vhost-vdpa.h
create mode 100644 include/net/vhost-vdpa.h
create mode 100644 net/vhost-vdpa.c
[PATCH v4 00/14]vDPA support in qemu
Posted by Cindy Lu 3 years, 9 months ago
vDPA device is a device that uses a datapath which complies with the
virtio specifications with vendor specific control path. vDPA devices
can be both physically located on the hardware or emulated by software.
This PATCH introduce the vDPA support in qemu
TODO 
1) vIOMMU support
2) live migration support
3) docs for vhost-vdpa
4) config interrupt support 

Change from v1
separate the patch of vhost_vq_get_addr
separate the patch of vhost_dev_start
introduce the docmation for vhost-vdpa.rst 
other comments form last version 
github address
https://github.com/lulu-github-name/qemutmp.git PATCHV2

Change from v3
fix the complie problem
separate the patch of vhost_force_iommu
other comments form last version 
github address
https://github.com/lulu-github-name/qemutmp.git PATCHV3

Change from v3
fix the centos7 test problem
other comments form last version 
github address
https://github.com/lulu-github-name/qemutmp.git PATCHV4

Cindy Lu (11):
  net: introduce qemu_get_peer
  vhost_net: use the function qemu_get_peer
  vhost: introduce new VhostOps vhost_dev_start
  vhost: implement vhost_dev_start method
  vhost: introduce new VhostOps vhost_vq_get_addr
  vhost: implement vhost_vq_get_addr method
  vhost: introduce new VhostOps vhost_force_iommu
  vhost: implement vhost_force_iommu method
  vhost_net: introduce set_config & get_config
  vhost-vdpa: introduce vhost-vdpa backend
  vhost-vdpa: introduce vhost-vdpa net client

Jason Wang (3):
  virtio-bus: introduce queue_enabled method
  virtio-pci: implement queue_enabled method
  vhost: check the existence of vhost_set_iotlb_callback

 configure                         |  21 ++
 docs/interop/index.rst            |   1 +
 docs/interop/vhost-vdpa.rst       |  17 ++
 hw/net/vhost_net-stub.c           |  11 +
 hw/net/vhost_net.c                |  45 ++-
 hw/net/virtio-net.c               |  19 ++
 hw/virtio/Makefile.objs           |   1 +
 hw/virtio/vhost-backend.c         |   6 +
 hw/virtio/vhost-vdpa.c            | 475 ++++++++++++++++++++++++++++++
 hw/virtio/vhost.c                 |  52 +++-
 hw/virtio/virtio-pci.c            |  13 +
 hw/virtio/virtio.c                |   6 +
 include/hw/virtio/vhost-backend.h |  19 +-
 include/hw/virtio/vhost-vdpa.h    |  26 ++
 include/hw/virtio/vhost.h         |   7 +
 include/hw/virtio/virtio-bus.h    |   4 +
 include/net/net.h                 |   1 +
 include/net/vhost-vdpa.h          |  22 ++
 include/net/vhost_net.h           |   5 +
 net/Makefile.objs                 |   2 +-
 net/clients.h                     |   2 +
 net/net.c                         |  10 +
 net/vhost-vdpa.c                  | 228 ++++++++++++++
 qapi/net.json                     |  28 +-
 qemu-options.hx                   |  12 +
 25 files changed, 1004 insertions(+), 29 deletions(-)
 create mode 100644 docs/interop/vhost-vdpa.rst
 create mode 100644 hw/virtio/vhost-vdpa.c
 create mode 100644 include/hw/virtio/vhost-vdpa.h
 create mode 100644 include/net/vhost-vdpa.h
 create mode 100644 net/vhost-vdpa.c

-- 
2.21.1


Re: [PATCH v4 00/14]vDPA support in qemu
Posted by Jason Wang 3 years, 9 months ago
On 2020/7/1 下午10:55, Cindy Lu wrote:
> vDPA device is a device that uses a datapath which complies with the
> virtio specifications with vendor specific control path. vDPA devices
> can be both physically located on the hardware or emulated by software.
> This PATCH introduce the vDPA support in qemu
> TODO
> 1) vIOMMU support
> 2) live migration support
> 3) docs for vhost-vdpa
> 4) config interrupt support
>
> Change from v1
> separate the patch of vhost_vq_get_addr
> separate the patch of vhost_dev_start
> introduce the docmation for vhost-vdpa.rst
> other comments form last version
> github address
> https://github.com/lulu-github-name/qemutmp.git PATCHV2
>
> Change from v3
> fix the complie problem
> separate the patch of vhost_force_iommu
> other comments form last version
> github address
> https://github.com/lulu-github-name/qemutmp.git PATCHV3
>
> Change from v3
> fix the centos7 test problem
> other comments form last version
> github address
> https://github.com/lulu-github-name/qemutmp.git PATCHV4


Thanks a lot for patches.

I think we may have a more generic handling of forcing IOMMU_PLATFORM. 
But it can be done on top.

So

Acked-by: Jason Wang <jasowang@redhat.com>


>
> Cindy Lu (11):
>    net: introduce qemu_get_peer
>    vhost_net: use the function qemu_get_peer
>    vhost: introduce new VhostOps vhost_dev_start
>    vhost: implement vhost_dev_start method
>    vhost: introduce new VhostOps vhost_vq_get_addr
>    vhost: implement vhost_vq_get_addr method
>    vhost: introduce new VhostOps vhost_force_iommu
>    vhost: implement vhost_force_iommu method
>    vhost_net: introduce set_config & get_config
>    vhost-vdpa: introduce vhost-vdpa backend
>    vhost-vdpa: introduce vhost-vdpa net client
>
> Jason Wang (3):
>    virtio-bus: introduce queue_enabled method
>    virtio-pci: implement queue_enabled method
>    vhost: check the existence of vhost_set_iotlb_callback
>
>   configure                         |  21 ++
>   docs/interop/index.rst            |   1 +
>   docs/interop/vhost-vdpa.rst       |  17 ++
>   hw/net/vhost_net-stub.c           |  11 +
>   hw/net/vhost_net.c                |  45 ++-
>   hw/net/virtio-net.c               |  19 ++
>   hw/virtio/Makefile.objs           |   1 +
>   hw/virtio/vhost-backend.c         |   6 +
>   hw/virtio/vhost-vdpa.c            | 475 ++++++++++++++++++++++++++++++
>   hw/virtio/vhost.c                 |  52 +++-
>   hw/virtio/virtio-pci.c            |  13 +
>   hw/virtio/virtio.c                |   6 +
>   include/hw/virtio/vhost-backend.h |  19 +-
>   include/hw/virtio/vhost-vdpa.h    |  26 ++
>   include/hw/virtio/vhost.h         |   7 +
>   include/hw/virtio/virtio-bus.h    |   4 +
>   include/net/net.h                 |   1 +
>   include/net/vhost-vdpa.h          |  22 ++
>   include/net/vhost_net.h           |   5 +
>   net/Makefile.objs                 |   2 +-
>   net/clients.h                     |   2 +
>   net/net.c                         |  10 +
>   net/vhost-vdpa.c                  | 228 ++++++++++++++
>   qapi/net.json                     |  28 +-
>   qemu-options.hx                   |  12 +
>   25 files changed, 1004 insertions(+), 29 deletions(-)
>   create mode 100644 docs/interop/vhost-vdpa.rst
>   create mode 100644 hw/virtio/vhost-vdpa.c
>   create mode 100644 include/hw/virtio/vhost-vdpa.h
>   create mode 100644 include/net/vhost-vdpa.h
>   create mode 100644 net/vhost-vdpa.c
>