I see codes as below in example directory, and I wonder it is effective. Coherent IO is adopted to modern architectures, so I think that DMA initiation by rte_eth_rx_burst() might already fulfills cache lines of RX buffers. Do I really need to call rte_prefetchX()?
nb_rx = rte_eth_rx_burst(portid, queueid, pkts_burst, MAX_PKT_BURST); ... /* Prefetch and forward already prefetched packets */ for (j = 0; j < (nb_rx - PREFETCH_OFFSET); j++) { rte_prefetch0(rte_pktmbuf_mtod(pkts_burst[ j + PREFETCH_OFFSET], void *)); l3fwd_simple_forward(pkts_burst[j], portid, qconf); } -- Moon-Sang Lee, SW Engineer Email: sang0627 at gmail.com Wisdom begins in wonder. *Socrates*