tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: RFC: mpsafe bridge and NIC drivers (vioif and wm)



On Tue, Jul 8, 2014 at 12:54 PM, Ryota Ozaki <ozaki-r%iij.ad.jp@localhost> 
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


Home | Main Index | Thread Index | Old Index