mbox series

[0/5] vhost: add missing barriers, remove useless volatiles

Message ID 20181205094957.1938-1-maxime.coquelin@redhat.com (mailing list archive)
Headers
Series vhost: add missing barriers, remove useless volatiles |

Message

Maxime Coquelin Dec. 5, 2018, 9:49 a.m. UTC
  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(-)