[dpdk-dev] [PATCH 0/5] vhost: add missing barriers, remove useless volatiles

Maxime Coquelin maxime.coquelin at redhat.com
Wed Dec 5 10:49:52 CET 2018

This series adds missing read barriers after reading avail index
for split ring and desc flags for packed ring.

Once that fixed, the casts to volatile are useless and so removed.

Also, it turns out that some descriptors prefetching are either
badly placed, or useless, last part of the series fixes that.

With the series applied, I get between 0 and 4% gain depending
on the benchmark (testpmd txonly/rxonly/io).

Thanks to Jason for reporting the missing read barriers.

Maxime Coquelin (5):
  vhost: enforce avail index and desc read ordering
  vhost: enforce desc flags and content read ordering
  vhost: prefetch descriptor after the read barrier
  vhost: remove useless prefetch for packed ring descriptor
  vhost: remove useless casts to volatile

 lib/librte_vhost/virtio_net.c | 32 ++++++++++++++++++++++++--------
 1 file changed, 24 insertions(+), 8 deletions(-)


More information about the dev mailing list