On Mon, Nov 15, 2021 at 03:06:20PM +0100, Clément Léger wrote: > Le Mon, 15 Nov 2021 06:08:00 -0800, > Jakub Kicinski <kuba@xxxxxxxxxx> a écrit : > > > On Mon, 15 Nov 2021 11:13:44 +0100 Clément Léger wrote: > > > Test on standard packets with UDP (iperf3 -t 100 -l 1460 -u -b 0 -c *) > > > - With pre-computed header: UDP TX: 33Mbit/s > > > - Without UDP TX: 31Mbit/s > > > -> 6.5% improvement > > > > > > Test on small packets with UDP (iperf3 -t 100 -l 700 -u -b 0 -c *) > > > - With pre-computed header: UDP TX: 15.8Mbit/s > > > - Without UDP TX: 16.4Mbit/s > > > -> 4.3% improvement > > > > Something's wrong with these numbers or I'm missing context. > > You say improvement in both cases yet in the latter case the > > new number is lower? > > You are right Jakub, I swapped the last two results, > > Test on small packets with UDP (iperf3 -t 100 -l 700 -u -b 0 -c *) > - With pre-computed header: UDP TX: 16.4Mbit/s > - Without UDP TX: 15.8Mbit/s > -> 4.3% improvement Even in reverse, something still seems wrong with the numbers. My DSPI controller can transfer at a higher data rate than that. Where is the rest of the time spent? Computing checksums?