tech-net 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 Jun 20, 2014, at 5:57 AM, Ryota Ozaki <ozaki-r%iij.ad.jp@localhost> wrote:

> Hi,
> 
> I've prepared a trial patch of MPSAFE networking.
> 
>  http://www.netbsd.org/~ozaki-r/mpsafe-wm.diff
> 

The kmutex_t in ifqueue, etc. should be pointers and not in the structure 
themselves.
That can simply the macros to test for a NULL pointer for the locks in the 
non-WM case.

Consider using mutex_obj_alloc to get mutexes instead of the embedding them in 
the
structures.

Some of your macros are missing 'do's :)

> It enables the interrupt handler of if_wm to run without
> KERNEL_LOCK; an interrupt context and a LWP context (e.g.,
> wm_start) run in parallel safely.
> 
> You can try it by applying the patch to -current
> and commenting in NET_MPSAFE in sys/net/if.h.
> 
> A complete patch of my work can be found at usual places:
> - http://www.netbsd.org/~ozaki-r/mpsafe-bridge-wm-vioif.diff
> - 
> https://github.com/ozaki-r/netbsd-src/tree/experimental/mpsafe-bridge-wm-vioif
> 
>  ozaki-r



Home | Main Index | Thread Index | Old Index