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 ProvostReceived on Sat Apr 04 2020 - 07:31:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC