From: Jakub Kicinski Date: Sat, 9 Nov 2024 21:22:58 +0000 (-0800) Subject: Merge branch 'improve-neigh_flush_dev-performance' X-Git-Tag: v6.13-rc1~135^2~94 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4e3fd0a99d55e8cbc410d06f5ad159da157beba;p=thirdparty%2Fkernel%2Flinux.git Merge branch 'improve-neigh_flush_dev-performance' Gilad Naaman says: ==================== Improve neigh_flush_dev performance This patchsets improves the performance of neigh_flush_dev. Currently, the only way to implement it requires traversing all neighbours known to the kernel, across all network-namespaces. This means that some flows are slowed down as a function of neigh-scale, even if the specific link they're handling has little to no neighbours. In order to solve this, this patchset adds a netdev->neighbours list, as well as making the original linked-list doubly-, so that it is possible to unlink neighbours without traversing the hash-bucket to obtain the previous neighbour. The original use-case we encountered was mass-deletion of links (12K VLANs) while there are 50K ARPs and 50K NDPs in the system; though the slowdowns would also appear when the links are set down. ==================== Link: https://patch.msgid.link/20241107160444.2913124-1-gnaaman@drivenets.com Signed-off-by: Jakub Kicinski --- e4e3fd0a99d55e8cbc410d06f5ad159da157beba