Hi,
A productive week!
I’ve posted the main body of the patch for review:
- https://reviews.freebsd.org/D24249
A preparatory patch. Mostly a mechanical substitution of LIST ->
CK_LIST
- https://reviews.freebsd.org/D24250
The main work. This changes the bridge data path to be mostly
lockless (the only exception is when we have to add or update an rtnode.
- https://reviews.freebsd.org/D24251
Another test case, for PR 216510. That bug was fixed more or less by
accident during this work.
I’ve also run performance testing with these patches, and I’m pretty
happy with the results. The test shows an increase in throughput from
3.7Mpps to 18.6Mpps.
The flame graphs also clearly show we’re no longer contending on the
bridge mutex:
- before: https://people.freebsd.org/~kp/if_bridge/unmodified.svg
- after: https://people.freebsd.org/~kp/if_bridge/unicast.svg
I’ll give D245250 another week or two for reviews. It’s a relatively
small patch, considering, but it’s complex and important.
I also intend to add another test case for a cleanup issue that’s
since been fixed in D245250.
Best regards,
Kristof Provost
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"