On Sun, Dec 16 2018, David Miller wrote: > From: NeilBrown <n...@brown.name> > Date: Mon, 17 Dec 2018 09:08:54 +1100 > >> In my 4.4 kernel, the build_skb() call in (the equivalent of) >> mtk_poll_rx() takes about 1.2usec and the call to napi_gro_receive() >> takes about 3usec. >> >> In my 4.20 kernel, these calls take about 30 and 24 usec respectively. >> This easily explains the slowdown. > > That's a huge difference. > > Nothing jumps out as a possible cause except perhaps retpoline or > something like that.
I'll keep that in mind - thanks. My guess was CPU-cache invalidation. I just checked and the other CPU core (there are two - each hyper-threaded - "other" meaning not the one that handles ethernet interrupts) gets several thousand "IPI resched" interrupts while running a 10 second (226MByte) iperf3 receive test. About 17KB transferred per IPI. I cannot see where build_skb() would do cache invalidation though. Thanks, NeilBrown
signature.asc
Description: PGP signature