]> git.droids-corp.org - dpdk.git/blobdiff - app/test-pmd/macfwd-retry.c
app/testpmd: prefetch data in the forwarding loop
[dpdk.git] / app / test-pmd / macfwd-retry.c
index 3a96b3df54e2ba146f08ae980940801b43d5323f..d8cd069c7782c6759da0709e2b62f81bc899665b 100644 (file)
@@ -117,6 +117,9 @@ pkt_burst_mac_retry_forward(struct fwd_stream *fs)
 #endif
        fs->rx_packets += nb_rx;
        for (i = 0; i < nb_rx; i++) {
+               if (likely(i < nb_rx - 1))
+                       rte_prefetch0(rte_pktmbuf_mtod(pkts_burst[i + 1],
+                                                      void *));
                mb = pkts_burst[i];
                eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *);
                ether_addr_copy(&peer_eth_addrs[fs->peer_addr],