Page MenuHomeFreeBSD

bridge: Change lists to CK_LIST as a peparation for epochification
ClosedPublic

Authored by kp on Apr 1 2020, 2:26 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Dec 15, 7:47 AM
Unknown Object (File)
Mon, Dec 9, 6:52 AM
Unknown Object (File)
Sun, Dec 8, 4:12 AM
Unknown Object (File)
Wed, Dec 4, 7:44 PM
Unknown Object (File)
Sat, Nov 30, 5:56 PM
Unknown Object (File)
Nov 12 2024, 5:35 AM
Unknown Object (File)
Oct 20 2024, 8:50 PM
Unknown Object (File)
Oct 20 2024, 8:50 PM

Details

Summary

Prepare the ground for a rework of the bridge locking approach. We will
use an epoch-based approach in the datapath and making it safe to
iterate over the interface, span and rtnode lists without holding the
BRIDGE_LOCK. Replace the relevant lists by their ConcurrencyKit
equivalents.

No functional change in this commit.

Sponsored by: The FreeBSD Foundation

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30228
Build 28013: arc lint + arc unit

Event Timeline

sys/net/if_bridge.c
1088

> 80 cols?

sys/net/if_bridge.c
280

Does this belong in this review? It doesn't appear to be referenced by other changes in this diff.

Fix style issue and remove stray epoch_ctx.

kp marked 2 inline comments as done.Apr 2 2020, 8:25 AM
kp added inline comments.
sys/net/if_bridge.c
280

It does not. I've removed it.

This revision is now accepted and ready to land.Apr 2 2020, 8:40 AM
This revision was automatically updated to reflect the committed changes.
kp marked an inline comment as done.

Here are my result:

x r359647 in bridge mode: inet 4 packets forwarded per second
+ r359647 with D24250 in bridge mode: inet 4 packets forwarded per second
+--------------------------------------------------------------------------+
|xx                                                                      + |
|xx                                                                 +  + ++|
|A|                                                                        |
|                                                                     |_AM||
+--------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x   5       3314595       3582601       3450403       3448858     99435.922
+   5      22726995      24346441      23963008      23715416     617156.45
Difference at 95.0% confidence
        2.02666e+07 +/- 644666
        587.631% +/- 27.5422%
        (Student's t, pooled s = 442024)