[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
hello. I'm excited to see the development of the MP-safe network
stack in NetBSD. Now that some progress has been made in that regard and
there are MP-safe drivers and stack components to use, I have some
questions. I'm interested in using options NET_MPSAFE in NetBSD-8.0_BETA
and the eventual netbsd-8 release. Here are my questions. I apologize if
some of them seem obvious, but I don't want to make any assumptions when
trying this new stuff.
1. If I enable NET_MPSAFE in the kernel, will non-MP-ify'd components work
in that kernel using the kernel lock? In other words, if I enable
NET_MPSAFE and use the wm(4) driver, I'll get MP performance out of the
network stack. However, what if I try to use a non-MP-ify'd component on
that same machine, i.e. agr(4) or pf(4)? It looks to me like things should
work, but traffic through the non-MP-ify'd components will be single
threaded. Is this correct?
2. Am I correct that when NET_MPSAFE is turned on, the network stack is
runing as an LWP inside the kernel? And, am I correct that this means that
even if a particular network component is single-threaded, it's able to
execute on any CPU, thus reducing CPU congestion on CPU0 as happens on the
stock NetBSD kernels?
3. How stable is the NET_MPSAFE stack? Is anyone using it in any sort of
the BSDCAN paper I read suggests it's pretty stable, but I'm wondering if
anyone can report their experience.
Main Index |
Thread Index |