From: David S. Miller Date: Thu, 22 Mar 2018 19:12:57 +0000 (-0400) Subject: Merge branch 'Rework-ip_ra_chain-protection' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1a2e10a24039147047cc21759ec57314c333c1ac;p=linux.git Merge branch 'Rework-ip_ra_chain-protection' Kirill Tkhai says: ==================== Rework ip_ra_chain protection Commit 1215e51edad1 "ipv4: fix a deadlock in ip_ra_control" made rtnl_lock() be used in raw_close(). This function is called on every RAW socket destruction, so that rtnl_mutex is taken every time. This scales very sadly. I observe cleanup_net() spending a lot of time in rtnl_lock() and raw_close() is one of the biggest rtnl user (since we have percpu net->ipv4.icmp_sk). This patchset reworks the locking: reverts the problem commit and its descendant, and introduces rtnl-independent locking. This may have a continuation, and someone may work on killing rtnl_lock() in mrtsock_destruct() in the future. v3: Change patches order: [2/5] and [3/5]. v2: Fix sparse warning [4/5], as reported by kbuild test robot. ==================== Signed-off-by: David S. Miller --- 1a2e10a24039147047cc21759ec57314c333c1ac