Re: [PATCH RFC 0/2] Packed ring for vhost

From: Jason Wang
Date: Tue Feb 13 2018 - 22:48:40 EST




On 2018å02æ14æ 10:47, Michael S. Tsirkin wrote:
On Wed, Feb 14, 2018 at 10:37:07AM +0800, Jason Wang wrote:
Hi all:

This RFC implement a subset of packed ring which was described at
https://github.com/oasis-tcs/virtio-docs/blob/master/virtio-v1.1-packed-wd07.pdf
. The code were tested with pmd implement by Jens at
http://dpdk.org/ml/archives/dev/2018-January/089417.html. Minor
change was needed for pmd codes to kick virtqueue since it assumes a
busy polling backend.

Test were done between localhost and guest. Testpmd (rxonly) in guest
reports 2.4Mpps. Testpmd (txonly) repots about 2.1Mpps.
How does this compare with the split ring design?

No obvious difference (+-5%). I believe we reach the bottleneck of vhost.


It's not a complete implemention, here's what were missed:

- Device Area
- Driver Area
- Descriptor indirection
- Zerocopy may not be functional
- Migration path is not tested
- Vhost devices except for net
- vIOMMU can not work (mainly because the metadata prefetch is not
implemented).
- See FIXME/TODO in the codes for more details
- No batching or other optimizations were implemented
ioeventfd for PIO/mmio/s390.


Probably, but this is not the stuffs of packed ring I think.

Thanks