On Wed, Feb 14, 2018 at 10:37:07AM +0800, Jason Wang wrote:
Hi all:How does this compare with the split ring design?
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.
It's not a complete implemention, here's what were missed:ioeventfd for PIO/mmio/s390.
- 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