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

Reply via email to