On 16-09-07 08:42 AM, Saeed Mahameed wrote:
Comparison is done between: 1. Baseline, Before this patch with TC drop action 2. This patch with TC drop action 3. This patch with XDP RX fast drop Streams Baseline(TC drop) TC drop XDP fast Drop -------------------------------------------------------------- 1 5.51Mpps 5.14Mpps 13.5Mpps 2 11.5Mpps 10.0Mpps 25.1Mpps 4 16.3Mpps 17.2Mpps 35.4Mpps 8 29.6Mpps 28.2Mpps 45.8Mpps* 16 34.0Mpps 30.1Mpps 45.8Mpps* It seems that there is around ~5% degradation between Baseline and this patch with single stream when comparing packet rate with TC drop, it might be related to XDP code overhead or new cache misses added by XDP code.
I would suspect this degradation would affect every other packet that has no interest in XDP. if you were trying to test forwarding, adding a tc action to accept and count packets will be sufficient. Since you are not: Try to baseline sending the wrong destination MAC address (i.e one not understood by host). The kernel will eventually drop it somewhere pre-IP processing time (and you can see difference with XDP compiled in). Slightly tangent question: Would it be fair to assume that this hardware can drop at wire rate if you instead used an offloaded tc rule? cheers, jamal