On Tue, 2016-12-06 at 19:32 -0800, Eric Dumazet wrote: > A follow up patch will provide a static_key (Jump Label) since most > hosts do not even use RFS.
Speaking of static_key, it appears we now have GRO on UDP, and this consumes a considerable amount of cpu cycles. Turning off GRO allows me to get +20 % more packets on my single UDP socket. (1.2 Mpps instead of 1.0 Mpps) Surely udp_gro_receive() should be bypassed if no UDP socket has registered a udp_sk(sk)->gro_receive handler And/or delay the inet_add_offload(&udpv{4|6}_offload, IPPROTO_UDP); to the first UDP sockets setting udp_sk(sk)->gro_receive handler, ie udp_encap_enable() and udpv6_encap_enable() :(