From: David S. Miller Date: Mon, 9 Jan 2017 20:49:13 +0000 (-0500) Subject: Merge branch 'icmp-reply-optimize' X-Git-Tag: v4.11-rc1~94^2~45 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9f2f27a9a518cdcd724bd360a1e25a10e7cd2f82;p=karo-tx-linux.git Merge branch 'icmp-reply-optimize' Jesper Dangaard Brouer says: ==================== net: optimize ICMP-reply code path This patchset is optimizing the ICMP-reply code path, for ICMP packets that gets rate limited. A remote party can easily trigger this code path by sending packets to port number with no listening service. Generally the patchset moves the sysctl_icmp_msgs_per_sec ratelimit checking to earlier in the code path and removes an allocation. Use-case: The specific case I experienced this being a bottleneck is, sending UDP packets to a port with no listener, which obviously result in kernel replying with ICMP Destination Unreachable (type:3), Port Unreachable (code:3), which cause the bottleneck. After Eric and Paolo optimized the UDP socket code, the kernels PPS processing capabilities is lower for no-listen ports, than normal UDP sockets. This is bad for capacity planning when restarting a service. UDP no-listen benchmark 8xCPUs using pktgen_sample04_many_flows.sh: Baseline: 6.6 Mpps Patch: 14.7 Mpps Driver mlx5 at 50Gbit/s. ==================== Signed-off-by: David S. Miller --- 9f2f27a9a518cdcd724bd360a1e25a10e7cd2f82