For those interested,
I have a preliminary patch that will add mutex locking in the mbuf
subsystem and get rid of the splimp()s. It also fixes some race
conditions previously existing and in relation to tsleep() (i.e. the wait
routines). The patch is rough and early, but watch the same space for
updates (soon), and please, if you have an SMP machine, give it a whirl
(because I don't!).
http://www.technokratis.com/code/mbuf/mbuf_mtx.patch
Please note that this will only work for i386 for now. I have yet to
clean up the initialization code such that it will run decently and as
advertised. :-)
Also, I plan to tackle as follows, and not necessarily in order:
(roughly)
a* sendfile(2) stuff SMP-izing
b* cleanup mbuf_mtx, fix and tweak
c* make sure m_reclaim is okay
d* test for exhaustion
e* test on real SMP machine
f* make sure callers don't hold mutexes when calling with M_WAIT
g* make sure the kmem_malloc() stuff has Giant
h* atomic (real atomic) manipulation of mbstat
* etc...
Suggestions, as usual, are always welcome. Please don't consider anything
in the above code final, it's the first and very early version.
Finally, I'm trying to do this as closly as possible with Alfred's
work, so Alfred, maybe you can also glance at point (f) above as well...
:-)
Cheers,
Bosko Milekic
[EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message