[PULL 00/15] Net patches

Jason Wang posted 15 patches 2 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220308133451.25378-1-jasowang@redhat.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, Peter Xu <peterx@redhat.com>
There is a newer version of this series
hw/net/virtio-net.c                |   1 +
hw/virtio/meson.build              |   2 +-
hw/virtio/vhost-iova-tree.c        | 110 +++++++
hw/virtio/vhost-iova-tree.h        |  27 ++
hw/virtio/vhost-shadow-virtqueue.c | 637 +++++++++++++++++++++++++++++++++++++
hw/virtio/vhost-shadow-virtqueue.h |  87 +++++
hw/virtio/vhost-vdpa.c             | 525 +++++++++++++++++++++++++++++-
include/hw/virtio/vhost-vdpa.h     |   8 +
include/qemu/iova-tree.h           |  38 ++-
util/iova-tree.c                   | 169 ++++++++++
10 files changed, 1587 insertions(+), 17 deletions(-)
create mode 100644 hw/virtio/vhost-iova-tree.c
create mode 100644 hw/virtio/vhost-iova-tree.h
create mode 100644 hw/virtio/vhost-shadow-virtqueue.c
create mode 100644 hw/virtio/vhost-shadow-virtqueue.h
[PULL 00/15] Net patches
Posted by Jason Wang 2 years, 1 month ago
The following changes since commit f45cc81911adc7726e8a2801986b6998b91b816e:

  Merge remote-tracking branch 'remotes/cschoenebeck/tags/pull-9p-20220307' into staging (2022-03-08 09:06:57 +0000)

are available in the git repository at:

  https://github.com/jasowang/qemu.git tags/net-pull-request

for you to fetch changes up to a10dd1e279fc56cebc7e738925e0db85d0cea089:

  vdpa: Expose VHOST_F_LOG_ALL on SVQ (2022-03-08 21:18:41 +0800)

----------------------------------------------------------------

----------------------------------------------------------------
Eugenio Pérez (14):
      vhost: Add VhostShadowVirtqueue
      vhost: Add Shadow VirtQueue kick forwarding capabilities
      vhost: Add Shadow VirtQueue call forwarding capabilities
      vhost: Add vhost_svq_valid_features to shadow vq
      virtio: Add vhost_svq_get_vring_addr
      vdpa: adapt vhost_ops callbacks to svq
      vhost: Shadow virtqueue buffers forwarding
      util: Add iova_tree_alloc_map
      util: add iova_tree_find_iova
      vhost: Add VhostIOVATree
      vdpa: Add custom IOTLB translations to SVQ
      vdpa: Adapt vhost_vdpa_get_vring_base to SVQ
      vdpa: Never set log_base addr if SVQ is enabled
      vdpa: Expose VHOST_F_LOG_ALL on SVQ

Jason Wang (1):
      virtio-net: fix map leaking on error during receive

 hw/net/virtio-net.c                |   1 +
 hw/virtio/meson.build              |   2 +-
 hw/virtio/vhost-iova-tree.c        | 110 +++++++
 hw/virtio/vhost-iova-tree.h        |  27 ++
 hw/virtio/vhost-shadow-virtqueue.c | 637 +++++++++++++++++++++++++++++++++++++
 hw/virtio/vhost-shadow-virtqueue.h |  87 +++++
 hw/virtio/vhost-vdpa.c             | 525 +++++++++++++++++++++++++++++-
 include/hw/virtio/vhost-vdpa.h     |   8 +
 include/qemu/iova-tree.h           |  38 ++-
 util/iova-tree.c                   | 169 ++++++++++
 10 files changed, 1587 insertions(+), 17 deletions(-)
 create mode 100644 hw/virtio/vhost-iova-tree.c
 create mode 100644 hw/virtio/vhost-iova-tree.h
 create mode 100644 hw/virtio/vhost-shadow-virtqueue.c
 create mode 100644 hw/virtio/vhost-shadow-virtqueue.h


Re: [PULL 00/15] Net patches
Posted by Peter Maydell 2 years, 1 month ago
On Tue, 8 Mar 2022 at 13:35, Jason Wang <jasowang@redhat.com> wrote:
>
> The following changes since commit f45cc81911adc7726e8a2801986b6998b91b816e:
>
>   Merge remote-tracking branch 'remotes/cschoenebeck/tags/pull-9p-20220307' into staging (2022-03-08 09:06:57 +0000)
>
> are available in the git repository at:
>
>   https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to a10dd1e279fc56cebc7e738925e0db85d0cea089:
>
>   vdpa: Expose VHOST_F_LOG_ALL on SVQ (2022-03-08 21:18:41 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------

Fails to build:

../../hw/virtio/vhost-shadow-virtqueue.c: In function 'vhost_svq_start':
../../hw/virtio/vhost-shadow-virtqueue.c:537:23: error: implicit
declaration of function 'qemu_memalign'
[-Werror=implicit-function-declaration]
  537 |     svq->vring.desc = qemu_memalign(qemu_real_host_page_size,
driver_size);
      |                       ^~~~~~~~~~~~~
../../hw/virtio/vhost-shadow-virtqueue.c:537:23: error: nested extern
declaration of 'qemu_memalign' [-Werror=nested-externs]
../../hw/virtio/vhost-shadow-virtqueue.c:537:21: error: assignment to
'vring_desc_t *' {aka 'struct vring_desc *'} from 'int' makes pointer
from i
nteger without a cast [-Werror=int-conversion]
  537 |     svq->vring.desc = qemu_memalign(qemu_real_host_page_size,
driver_size);
      |                     ^
../../hw/virtio/vhost-shadow-virtqueue.c:541:21: error: assignment to
'vring_used_t *' {aka 'struct vring_used *'} from 'int' makes pointer
from i
nteger without a cast [-Werror=int-conversion]
  541 |     svq->vring.used = qemu_memalign(qemu_real_host_page_size,
device_size);
      |                     ^
../../hw/virtio/vhost-shadow-virtqueue.c: In function 'vhost_svq_stop':
../../hw/virtio/vhost-shadow-virtqueue.c:579:5: error: implicit
declaration of function 'qemu_vfree'
[-Werror=implicit-function-declaration]
  579 |     qemu_vfree(svq->vring.desc);
      |     ^~~~~~~~~~
../../hw/virtio/vhost-shadow-virtqueue.c:579:5: error: nested extern
declaration of 'qemu_vfree' [-Werror=nested-externs]


qemu_memalign/qemu_vfree have just moved to their own header file;
you need to rebase and add #include <qemu/memalign.h> in the
appropriate files.

thanks
-- PMM
Re: [PULL 00/15] Net patches
Posted by Jason Wang 2 years, 1 month ago
On Thu, Mar 10, 2022 at 4:01 AM Peter Maydell <peter.maydell@linaro.org>
wrote:

> On Tue, 8 Mar 2022 at 13:35, Jason Wang <jasowang@redhat.com> wrote:
> >
> > The following changes since commit
> f45cc81911adc7726e8a2801986b6998b91b816e:
> >
> >   Merge remote-tracking branch
> 'remotes/cschoenebeck/tags/pull-9p-20220307' into staging (2022-03-08
> 09:06:57 +0000)
> >
> > are available in the git repository at:
> >
> >   https://github.com/jasowang/qemu.git tags/net-pull-request
> >
> > for you to fetch changes up to a10dd1e279fc56cebc7e738925e0db85d0cea089:
> >
> >   vdpa: Expose VHOST_F_LOG_ALL on SVQ (2022-03-08 21:18:41 +0800)
> >
> > ----------------------------------------------------------------
> >
> > ----------------------------------------------------------------
>
> Fails to build:
>
> ../../hw/virtio/vhost-shadow-virtqueue.c: In function 'vhost_svq_start':
> ../../hw/virtio/vhost-shadow-virtqueue.c:537:23: error: implicit
> declaration of function 'qemu_memalign'
> [-Werror=implicit-function-declaration]
>   537 |     svq->vring.desc = qemu_memalign(qemu_real_host_page_size,
> driver_size);
>       |                       ^~~~~~~~~~~~~
> ../../hw/virtio/vhost-shadow-virtqueue.c:537:23: error: nested extern
> declaration of 'qemu_memalign' [-Werror=nested-externs]
> ../../hw/virtio/vhost-shadow-virtqueue.c:537:21: error: assignment to
> 'vring_desc_t *' {aka 'struct vring_desc *'} from 'int' makes pointer
> from i
> nteger without a cast [-Werror=int-conversion]
>   537 |     svq->vring.desc = qemu_memalign(qemu_real_host_page_size,
> driver_size);
>       |                     ^
> ../../hw/virtio/vhost-shadow-virtqueue.c:541:21: error: assignment to
> 'vring_used_t *' {aka 'struct vring_used *'} from 'int' makes pointer
> from i
> nteger without a cast [-Werror=int-conversion]
>   541 |     svq->vring.used = qemu_memalign(qemu_real_host_page_size,
> device_size);
>       |                     ^
> ../../hw/virtio/vhost-shadow-virtqueue.c: In function 'vhost_svq_stop':
> ../../hw/virtio/vhost-shadow-virtqueue.c:579:5: error: implicit
> declaration of function 'qemu_vfree'
> [-Werror=implicit-function-declaration]
>   579 |     qemu_vfree(svq->vring.desc);
>       |     ^~~~~~~~~~
> ../../hw/virtio/vhost-shadow-virtqueue.c:579:5: error: nested extern
> declaration of 'qemu_vfree' [-Werror=nested-externs]
>
>
> qemu_memalign/qemu_vfree have just moved to their own header file;
> you need to rebase and add #include <qemu/memalign.h> in the
> appropriate files.
>

Yes, V2 is sent.

Thanks


>
> thanks
> -- PMM
>
>