[RFC v2 0/9] vDPA support in qemu

Cindy Lu posted 9 patches 3 years, 12 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
configure                         |  21 ++
hw/net/vhost_net-stub.c           |   4 +
hw/net/vhost_net.c                |  77 ++++-
hw/net/virtio-net.c               |   9 +
hw/virtio/Makefile.objs           |   1 +
hw/virtio/vhost-backend.c         |   5 +
hw/virtio/vhost-vdpa.c            | 447 ++++++++++++++++++++++++++++++
hw/virtio/vhost.c                 |  14 +
hw/virtio/virtio-pci.c            |  13 +
hw/virtio/virtio.c                |   6 +
include/hw/virtio/vhost-backend.h |  10 +-
include/hw/virtio/vhost-vdpa.h    |  25 ++
include/hw/virtio/vhost.h         |   1 +
include/hw/virtio/virtio-bus.h    |   4 +
include/net/net.h                 |   1 +
include/net/vhost-vdpa.h          |  19 ++
include/net/vhost_net.h           |   4 +-
net/Makefile.objs                 |   2 +-
net/clients.h                     |   2 +
net/net.c                         |   9 +
net/vhost-vdpa.c                  | 227 +++++++++++++++
qapi/net.json                     |  22 +-
qemu-options.hx                   |  19 ++
23 files changed, 930 insertions(+), 12 deletions(-)
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
[RFC v2 0/9] vDPA support in qemu
Posted by Cindy Lu 3 years, 12 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 RFC introduce the vDPA support in qemu

change from v1
separe the patch of introduce vhost_set_vring_ready method
separe the patch of qemu_get_peer
separe the patch  of vhost_set_state
intorduce the new macro specific for vDPA in configure
intorduce the fuction to pass the fd from cmdline 
introduce the docmation in qemu-options.hx
the other comments form last version  


Cindy Lu (3):
  net: introduce qemu_get_peer
  net: use the function qemu_get_peer
  virtio_net: introduce vhost_set_state

Jason Wang (4):
  virtio-bus: introduce queue_enabled method
  virito-pci: implement queue_enabled method
  vhost_net: set vq ready during start if necessary
  vhost: introduce vhost_set_vring_ready method

Tiwei Bie (2):
  vhost-vdpa: introduce vhost-vdpa net client
  vhost-vdpa: implement vhost-vdpa backend

 configure                         |  21 ++
 hw/net/vhost_net-stub.c           |   4 +
 hw/net/vhost_net.c                |  77 ++++-
 hw/net/virtio-net.c               |   9 +
 hw/virtio/Makefile.objs           |   1 +
 hw/virtio/vhost-backend.c         |   5 +
 hw/virtio/vhost-vdpa.c            | 447 ++++++++++++++++++++++++++++++
 hw/virtio/vhost.c                 |  14 +
 hw/virtio/virtio-pci.c            |  13 +
 hw/virtio/virtio.c                |   6 +
 include/hw/virtio/vhost-backend.h |  10 +-
 include/hw/virtio/vhost-vdpa.h    |  25 ++
 include/hw/virtio/vhost.h         |   1 +
 include/hw/virtio/virtio-bus.h    |   4 +
 include/net/net.h                 |   1 +
 include/net/vhost-vdpa.h          |  19 ++
 include/net/vhost_net.h           |   4 +-
 net/Makefile.objs                 |   2 +-
 net/clients.h                     |   2 +
 net/net.c                         |   9 +
 net/vhost-vdpa.c                  | 227 +++++++++++++++
 qapi/net.json                     |  22 +-
 qemu-options.hx                   |  19 ++
 23 files changed, 930 insertions(+), 12 deletions(-)
 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: [RFC v2 0/9] vDPA support in qemu
Posted by Jason Wang 3 years, 12 months ago
On 2020/5/9 上午12:32, 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 RFC introduce the vDPA support in qemu
>
> change from v1
> separe the patch of introduce vhost_set_vring_ready method


I think you meant "separate"?

May worth to mention TODO:

1) vIOMMU support
2) live migration support

And it might be helpful if you can publish a github repo for people to try.

Thanks


> separe the patch of qemu_get_peer
> separe the patch  of vhost_set_state
> intorduce the new macro specific for vDPA in configure
> intorduce the fuction to pass the fd from cmdline
> introduce the docmation in qemu-options.hx
> the other comments form last version
>
>
> Cindy Lu (3):
>    net: introduce qemu_get_peer
>    net: use the function qemu_get_peer
>    virtio_net: introduce vhost_set_state
>
> Jason Wang (4):
>    virtio-bus: introduce queue_enabled method
>    virito-pci: implement queue_enabled method
>    vhost_net: set vq ready during start if necessary
>    vhost: introduce vhost_set_vring_ready method
>
> Tiwei Bie (2):
>    vhost-vdpa: introduce vhost-vdpa net client
>    vhost-vdpa: implement vhost-vdpa backend
>
>   configure                         |  21 ++
>   hw/net/vhost_net-stub.c           |   4 +
>   hw/net/vhost_net.c                |  77 ++++-
>   hw/net/virtio-net.c               |   9 +
>   hw/virtio/Makefile.objs           |   1 +
>   hw/virtio/vhost-backend.c         |   5 +
>   hw/virtio/vhost-vdpa.c            | 447 ++++++++++++++++++++++++++++++
>   hw/virtio/vhost.c                 |  14 +
>   hw/virtio/virtio-pci.c            |  13 +
>   hw/virtio/virtio.c                |   6 +
>   include/hw/virtio/vhost-backend.h |  10 +-
>   include/hw/virtio/vhost-vdpa.h    |  25 ++
>   include/hw/virtio/vhost.h         |   1 +
>   include/hw/virtio/virtio-bus.h    |   4 +
>   include/net/net.h                 |   1 +
>   include/net/vhost-vdpa.h          |  19 ++
>   include/net/vhost_net.h           |   4 +-
>   net/Makefile.objs                 |   2 +-
>   net/clients.h                     |   2 +
>   net/net.c                         |   9 +
>   net/vhost-vdpa.c                  | 227 +++++++++++++++
>   qapi/net.json                     |  22 +-
>   qemu-options.hx                   |  19 ++
>   23 files changed, 930 insertions(+), 12 deletions(-)
>   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
>