Hi,
I have a BroadCom NetXtreme II BCM57810 10 Gigabit with a bnx2x driver. I was trying to measure the performance of the network card. I'm running DPDK-L2FWD application to receive and send packets with MAX_PKT_BURST = 1.
but I noticed that packets are being accumulated somewhere in bnx2x_rxtx. There is some sort of batching/buffering happening in rxtx. So, the latency of the packets is increasing as they have to wait.
The first packet of the batch is received with the minimum latency and incoming packets are received with the accumulated latency of the previous packets. After a specific number of packets (6-7 packets), the same pattern repeats i.e. a packet arrives with the minimum latency and incoming packets with accumulated latency until the specific number of packets arrives. I've copied the latency measured for some contiguous packets.
I tried to explore bnx2x_recv_pkts() and bnx2x_xmit_pkts() in bnx2x_rxtx.c, but didn't get any clue why the packets were being accumulated.
Sequence |
Latency (microseconds) |
4825105 |
9.37207 |
4825106 |
10.72168 |
4825107 |
15.06543 |
4825108 |
19.394043 |
4825109 |
22.665039 |
4825110 |
26.979004 |
4825111 |
8.74707 |
4825112 |
11.145996 |
4825113 |
14.439941 |
4825114 |
18.701172 |
4825115 |
23.082031 |
4825116 |
27.402832 |
4825117 |
9.164062 |
4825118 |
11.623047 |
4825119 |
15.944824 |
4825120 |
19.066406 |
4825121 |
23.589355 |
4825122 |
27.909668 |
4825123 |
9.701172 |
4825124 |
11.13916 |
4825125 |
15.489746 |
4825126 |
19.780762 |
4825127 |
23.111816 |
4825128 |
27.403809 |