Hello, > I measured a roundtrip latency (using Spirent traffic generator) of sending > 64B packets over a 10GbE to DPDK, and DPDK does nothing but simply forward > back to the incoming port (l3fwd without any lookup code, i.e., dstport = > port_id). > However, to my surprise, the average latency was around 150 usec. (The packet > drop rate was only 0.001%, i.e., 283 packets/sec dropped) Another test I did > was to measure the latency due to sending only a single 64B packet, and the > latency I measured is ranging anywhere from 40 usec to 100 usec.
40-100usec seems very high. The l3fwd application does some internal buffering before transmitting the packets. It buffers either 32 packets, or waits up to 100us (hash-defined as BURST_TX_DRAIN_US), whichever comes first. Try either removing this timeout, or sending a burst of 32 packets at time. Or you could try with testpmd, which should have reasonably low latency out of the box. There is also a section in the Release Notes (8.6 How can I tune my network application to achieve lower latency?) which provides some pointers for getting lower latency if you are willing to give up top-rate throughput. Thanks, Jeff