[SPR] Networking performance fix for concurrency with the dst_entry data structure

Bug #2058481 reported by Thibf
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
New
Undecided
Unassigned
Jammy
New
Undecided
Thibf

Bug Description

This is a public version of https://bugs.launchpad.net/bugs/2028897

Backport:
bc9d3a9f2afc (net: dst: Switch to rcuref_t reference counting, 2023-03-23)
d288a162dd1c (net: dst: Prevent false sharing vs. dst_entry:: __refcnt, 2023-03-23)
e5ab9eff46b0 (atomics: Provide atomic_add_negative() variants, 2023-03-23)
ee1ee6db0779 (atomics: Provide rcuref - scalable reference counting, 2023-03-23)

merged in 6.4 to jammy.

[Impact]
  Address a bottleneck in the networking code related to struct dst_entry reference count, which results in networking performance loss with large number of connections, by adding rcuref as a scalable alternative solution.

  Developers report in the patch: The overall gain of both changes for localhost memtier ranges from 1.2X to 3.2X and from +2% to %5% range for networked operations on a 1Gb connection. A micro benchmark which enforces maximized concurrency shows a gain between 1.2X and 4.7X.

[Fix]

Upstream patch:
  bc9d3a9f2afc (net: dst: Switch to rcuref_t reference counting, 2023-03-23)
  d288a162dd1c (net: dst: Prevent false sharing vs. dst_entry:: __refcnt, 2023-03-23)
  e5ab9eff46b0 (atomics: Provide atomic_add_negative() variants, 2023-03-23)
  ee1ee6db0779 (atomics: Provide rcuref - scalable reference counting, 2023-03-23)

[Test Plan]

I have tested this code.

[Where problems could occur]

TODO

Thibf (thibf)
Changed in linux (Ubuntu Jammy):
assignee: nobody → Thibf (thibf)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.