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
F102434288: D24249.diff
Tue, Nov 12, 5:35 AM
Unknown Object (File)
Sun, Oct 20, 8:50 PM
Unknown Object (File)
Sun, Oct 20, 8:50 PM
Unknown Object (File)
Sun, Oct 20, 8:49 PM
Unknown Object (File)
Sun, Oct 20, 8:49 PM
Unknown Object (File)
Sun, Oct 20, 8:33 PM
Unknown Object (File)
Oct 2 2024, 6:21 PM
Unknown Object (File)
Oct 2 2024, 10:55 AM

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)