tech-net archive

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

bridge(4): BRIDGE_MPSAFE by default and applying psref(9)



Hi,

I prepared two patches for bridge(4):
  http://www.netbsd.org/~ozaki-r/remove-BRIDGE_MPSAFE.diff
  http://www.netbsd.org/~ozaki-r/psref-bridge.diff

The former removes BRIDGE_MPSAFE switch and enables the
MP-safe code by default. After introducing softint-based
if_input, bridge can run in parallel even without NET_MPSAFE,
so I think we need to always enable it.

The latter applies psref(9) to bridge. I confirmed the new
implementation survives load test, which includes repeating
bridge creations/deletions and member interface
additions/removals, over several hours.

Note that I notice that we need to tweak shmif of the
rump kernel because it seems that the interrupt handler
of shmif can migration between CPUs and so the behavior
violates a contract of psref. We can fix it by applying
if_percpuq to shmif, but I'm not sure that's the way
to go. (I'll ask pooka about the issue.)

Anyway any comments on the patches?

Thanks,
  ozaki-r


Home | Main Index | Thread Index | Old Index