CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2014/10/02 19:02:47

Modified files:
        sys/sys        : mbuf.h 
        sys/kern       : uipc_mbuf.c 

Log message:
now that pools are mpsafe, we can make the mbuf allocators on top
of pools mpsafe too.

this calles pool_setipl(IPL_NET) against the mbuf and cluster pools,
and removes the use of splnet().

the other locking done in the mbuf layer is for external cluster
references. again, they relied on splnet to serialise these operations.
because there is no shared memory associated with external clusters
(except the cluster itself, which is completely dedicated to data
payload, not meta info like a refcount or lock), this has been
replaced with a single mutex that all reference ops are serialised
with.

tested by me, jmatthew@, bcook@, and phessler@

Reply via email to