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