vhost: prefetch first descriptor in dequeue path
authorMaxime Coquelin <maxime.coquelin@redhat.com>
Fri, 6 Jul 2018 07:04:48 +0000 (09:04 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 10 Jul 2018 21:13:36 +0000 (23:13 +0200)
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Tiwei Bie <tiwei.bie@intel.com>
lib/librte_vhost/virtio_net.c

index 2cfd858..2662a1d 100644 (file)
@@ -1083,6 +1083,8 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_id,
                vq->shadow_used_idx = 0;
        }
 
+       rte_prefetch0(&vq->avail->ring[vq->last_avail_idx & (vq->size - 1)]);
+
        /*
         * Construct a RARP broadcast packet, and inject it to the "pkts"
         * array, to looks like that guest actually send such packet.