[PATCH v7 0/8] Packed virtqueue for virtio
Hi: This is an updated version of packed virtqueue support based on Wei and Jason's V6, mainly solving the clang leak detector error CI gave. Please review. Changes from V6: - Commit reorder: Squash bugfix and sepparate big changes into smaller commits. Changes from V5: - Fix qemu's CI asan error. - Move/copy rcu comments. - Merge duplicated vdev->broken check between split and packet version. Eugenio Pérez (2): virtio: Free blk virqueues at unrealize() virtio: Free rnd virqueue at unrealize() Jason Wang (4): virtio: basic packed virtqueue support virtio: event suppression support for packed ring vhost_net: enable packed ring support virtio: add property to enable packed virtqueue Wei Xu (2): virtio: basic structure for packed ring virtio: device/driver area size calculation refactor for split ring hw/block/virtio-blk.c |7 +- hw/char/virtio-serial-bus.c |2 +- hw/net/vhost_net.c |2 + hw/scsi/virtio-scsi.c |3 +- hw/virtio/virtio-rng.c |1 + hw/virtio/virtio.c | 1154 ++- include/hw/virtio/virtio.h | 14 +- 7 files changed, 1045 insertions(+), 138 deletions(-) -- 2.16.5
Re: [PATCH v7 0/8] Packed virtqueue for virtio
On Fri, Oct 25, 2019 at 10:35:19AM +0200, Eugenio Pérez wrote: > Hi: > > This is an updated version of packed virtqueue support based on Wei and > Jason's > V6, mainly solving the clang leak detector error CI gave. Looks good, I will queue this up. It would be nice to add libqos based tests on top, based on Stefan's work. > Please review. > > Changes from V6: > - Commit reorder: Squash bugfix and sepparate big changes into smaller > commits. > > Changes from V5: > - Fix qemu's CI asan error. > - Move/copy rcu comments. > - Merge duplicated vdev->broken check between split and packet version. > > Eugenio Pérez (2): > virtio: Free blk virqueues at unrealize() > virtio: Free rnd virqueue at unrealize() > > Jason Wang (4): > virtio: basic packed virtqueue support > virtio: event suppression support for packed ring > vhost_net: enable packed ring support > virtio: add property to enable packed virtqueue > > Wei Xu (2): > virtio: basic structure for packed ring > virtio: device/driver area size calculation refactor for split ring > > hw/block/virtio-blk.c |7 +- > hw/char/virtio-serial-bus.c |2 +- > hw/net/vhost_net.c |2 + > hw/scsi/virtio-scsi.c |3 +- > hw/virtio/virtio-rng.c |1 + > hw/virtio/virtio.c | 1154 > ++- > include/hw/virtio/virtio.h | 14 +- > 7 files changed, 1045 insertions(+), 138 deletions(-) > > -- > 2.16.5
Re: [PATCH v7 0/8] Packed virtqueue for virtio
On Fri, Oct 25, 2019 at 07:34:03AM -0400, Michael S. Tsirkin wrote: > On Fri, Oct 25, 2019 at 10:35:19AM +0200, Eugenio Pérez wrote: > > Hi: > > > > This is an updated version of packed virtqueue support based on Wei and > > Jason's > > V6, mainly solving the clang leak detector error CI gave. > > > Looks good, I will queue this up. > > It would be nice to add libqos based tests on top, > based on Stefan's work. Packed virtqueue support in libqos would be nice now that we have VIRTIO 1.0 support. I think it could be added nicely now. Writing a low-level virtqueue layout test is also possible if you want to test QEMU's packed virtqueue code. For example, a test case could trigger error code paths by creating invalid rings/descriptors. Stefan signature.asc Description: PGP signature
Re: [PATCH v7 0/8] Packed virtqueue for virtio
Hi Michael. Totally agree with you. I investigated that for a short time but in the end I tested manually with the coverage instrumentation, trying to exercise the same "code" as current tests touches in split virtqueues. I will automate at least these paths. Thanks! On Fri, Oct 25, 2019 at 1:35 PM Michael S. Tsirkin wrote: > > On Fri, Oct 25, 2019 at 10:35:19AM +0200, Eugenio Pérez wrote: > > Hi: > > > > This is an updated version of packed virtqueue support based on Wei and > > Jason's > > V6, mainly solving the clang leak detector error CI gave. > > > Looks good, I will queue this up. > > It would be nice to add libqos based tests on top, > based on Stefan's work. > > > > Please review. > > > > Changes from V6: > > - Commit reorder: Squash bugfix and sepparate big changes into smaller > > commits. > > > > Changes from V5: > > - Fix qemu's CI asan error. > > - Move/copy rcu comments. > > - Merge duplicated vdev->broken check between split and packet version. > > > > Eugenio Pérez (2): > > virtio: Free blk virqueues at unrealize() > > virtio: Free rnd virqueue at unrealize() > > > > Jason Wang (4): > > virtio: basic packed virtqueue support > > virtio: event suppression support for packed ring > > vhost_net: enable packed ring support > > virtio: add property to enable packed virtqueue > > > > Wei Xu (2): > > virtio: basic structure for packed ring > > virtio: device/driver area size calculation refactor for split ring > > > > hw/block/virtio-blk.c |7 +- > > hw/char/virtio-serial-bus.c |2 +- > > hw/net/vhost_net.c |2 + > > hw/scsi/virtio-scsi.c |3 +- > > hw/virtio/virtio-rng.c |1 + > > hw/virtio/virtio.c | 1154 > > ++- > > include/hw/virtio/virtio.h | 14 +- > > 7 files changed, 1045 insertions(+), 138 deletions(-) > > > > -- > > 2.16.5