Public bug reported: [IMPACT] Fix a performance issue in the IPv4 routing table causing severe RTNL lock contention which in some complicated deployments (multiple VXLAN interfaces, 128K+ routes, 128K+ nexthops) causes systemd-networkd to fail to renew DHCP addresses in time, which then makes those interfaces become unmanaged.
[FIX] The fixes optimize nexthop removal when an interface goes down by batching FIB table flushing. Previously, for each nexthop being removed, the FIB table was flushed to remove all routing table entries pointing to the nexthop being removed. This flushing is a sequential walk of the entire FIB trie, and for N nexthops being removed and R routes installed results in O(N x R) performance. The fix postpones flushing until all nexthops are marked dead and then does a single FIB flush to remove all affected routing entries. This improves the performance to O(N + R). Upstream patches being submitted here: https://lore.kernel.org/netdev/[email protected]/T/#t Those patches don't apply cleanly on 6.8 due to other missing functionality, dedicated 6.8. patches will be provided in this ticket. [TEST CASE] Successfully built the adjusted upstream patches on linux-bluefield-6.8 master-next branch. [Regression Potential] Low risk. The latest upstream patches don't apply cleanly on 6.8 due to missing functionality, but the modifications to make the patches apply are trivial and don't impact the logical flow of batching the cleanup. ** Affects: linux-bluefield (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2151772 Title: ipv4: Port patches to improve performance of nexthop removal To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-bluefield/+bug/2151772/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
