Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/net
Module Name: src
Committed By: ozaki-r
Date: Mon Jul 14 02:34:36 UTC 2014
Modified Files:
src/sys/net: bridgestp.c if.h if_bridge.c if_bridgevar.h
Log Message:
Make bridge MPSAFE
- Introduce BRIDGE_MPSAFE
- It's enabled only when NET_MPSAFE is defined
in if.h or the kernel config
- Add iflist and rtlist mutex locks
- Locking iflist is performance sensitive,
so it's not used when !BRIDGE_MPSAFE
- Add bif object reference counting
- It enables fine-grain locking for bridge member lists
by allowing to not hold a lock during touching a bif
- bridge_release_member is added to decrement the
reference count
- A condition variable is added to do bridge_delete_member
gracefully
- Add if_bridgeif to ifnet
- It's a shortcut to a bif object of a bridge member
- It reduces a bif lookup cost and so lock contention on iflist
- Make bridgestp MPSAFE too
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/net/bridgestp.c
cvs rdiff -u -r1.170 -r1.171 src/sys/net/if.h
cvs rdiff -u -r1.86 -r1.87 src/sys/net/if_bridge.c
cvs rdiff -u -r1.19 -r1.20 src/sys/net/if_bridgevar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index