[v4,0/2] net/virtio-user: add packed vq support

Message ID 20190111093929.10162-1-jfreimann@redhat.com (mailing list archive)


Jens Freimann Jan. 11, 2019, 9:39 a.m. UTC
  Patch 1 fixes a bug in virtio_pq_send_command(). When we wait for
a descriptor to be marked as used we need to consider that the ring
might have wrapped and use the previous wrap counter.

Patch 2 reverts the patch to error out when cq is used with packed vq and
add support for packed virtqueues in control virtqueue code.

 * it's enough to add to add packed vq feature bit to
   unsupported_features if packed_vq=0, no need to explicitly add
   it to device_features (Tiwei) 

 * squash revert patch into patch 2
 * add new patch 1 to fix a bug in driver code
 * fix wrap handling code in virtio_user_handle_cq_packed
 * in v2 I was using wrap counters and indexes from shared virtqueue,
   fixed this and added wrap counters and used index to virtio_user code
 * tested wrap around of ring

 * split into two patches
 * handle ring wrap correctly
 * add to unsupported_features when packed_vq is 0

Jens Freimann (2):
  net/virtio: check head desc with correct wrap counter
  net/virtio-user: ctrl vq support for packed

 drivers/net/virtio/virtio_ethdev.c            |  11 +-
 .../net/virtio/virtio_user/virtio_user_dev.c  | 102 ++++++++++++++++--
 .../net/virtio/virtio_user/virtio_user_dev.h  |  15 ++-
 drivers/net/virtio/virtio_user_ethdev.c       |  56 +++++++++-
 drivers/net/virtio/virtqueue.h                |  10 +-
 5 files changed, 171 insertions(+), 23 deletions(-)