On Wed, Dec 19, 2018 at 09:21:09AM +0100, Maxime Coquelin wrote: > This series adds missing read barriers after reading avail index > for split ring and desc flags for packed ring. > > 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.
Acked-by: Michael S. Tsirkin <m...@redhat.com> But I wonder what effect this has on ARM where RMB isn't a NOP. Ilya do you happen to have any data? > Changes since v1: > ================= > - Drop volatile removal patch (Ilya) > - Improve commit messages for RMB patches (Ilya) > > Maxime Coquelin (4): > 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 > > lib/librte_vhost/virtio_net.c | 27 ++++++++++++++++++++++----- > 1 file changed, 22 insertions(+), 5 deletions(-) > > -- > 2.17.2