On 19.12.2018 18:50, Michael S. Tsirkin wrote: > 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?
Hi. My rough testing shows no significant performance difference on ARMv8. > >> 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 > >