aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2020-04-26 16:22:35 +0000
committerKristof Provost <kp@FreeBSD.org>2020-04-26 16:22:35 +0000
commitfffd27e5f3b9700b6556a8c4fbd9503593a5ba33 (patch)
treee5768c4d2cccb4b927363eb14f8ef2d41a3ec8a2 /sys/netinet6
parenta7c8533634abce143a9d51b9252bb3b0db33f932 (diff)
downloadsrc-fffd27e5f3b9700b6556a8c4fbd9503593a5ba33.tar.gz
src-fffd27e5f3b9700b6556a8c4fbd9503593a5ba33.zip
bridge: epoch-ification
Run the bridge datapath under epoch, rather than under the BRIDGE_LOCK(). We still take the BRIDGE_LOCK() whenever we insert or delete items in the relevant lists, but we use epoch callbacks to free items so that it's safe to iterate the lists without the BRIDGE_LOCK. Tests on mercat5/6 shows this increases bridge throughput significantly, from 3.7Mpps to 18.6Mpps. Reviewed by: emaste, philip, melifaro MFC after: 2 months Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24250
Notes
Notes: svn path=/head/; revision=360345
Diffstat (limited to 'sys/netinet6')
0 files changed, 0 insertions, 0 deletions