No comment or objection? Then, I'll commit the patch tomorrow. ozaki-r
On Wed, Jul 9, 2014 at 12:55 PM, Ryota Ozaki <ozak...@iij.ad.jp> wrote: > On Tue, Jul 8, 2014 at 12:54 PM, Ryota Ozaki <ozak...@iij.ad.jp> wrote: >> Hi, >> >> A new patch has come: http://www.netbsd.org/~ozaki-r/mpsafe-bridge.diff > > I confirmed the patch doesn't add new failures > in both NET_MPSAFE and non-NET_MPSAFE cases. > > ozaki-r > >> >> The patch makes bridge forwarding MPSAFE. As same as wm, >> it introduces BRIDGE_MPSAFE to switch MPSAFE and non-MPSAFE >> codes. However, in the case of bridge, some locking codes >> are always enabled to reduce ifdef switches. I think it's >> not a problem because the codes are not performance critical. >> And also some splnet are still there for the same reason. >> >> Another note is about bif (bridge member list entry) object >> reference counting. It enables fine-grain locking for bridge >> member lists by allowing to not hold a lock during touching >> a bif. In order to do so, bridge_release_member is added >> to decrement the reference count and a condition variable >> to do bridge_delete_member graceful. >> >> You can try the patch with MPSAFE enabled by defining >> NET_MPSAFE in if.h or your kernel config file. If your >> machine has Intel 1G NICs (wm), by applying a patch(*), >> you can see bridge_forward running in parallel. >> >> (*) >> https://github.com/ozaki-r/netbsd-src/commit/2879f184e336376574c7a07d9ab34d9d55449a7b >> >> Have fun, >> ozaki-r