Disposal of a misleading M_TRYWAIT
Matthew Dillon
dillon at apollo.backplane.com
Sun Mar 23 01:16:34 UTC 2008
:> Since the advent of MBUMA in FreeBSD (whatever), M_TRYWAIT has meant
:> M_WAITOK. (The reason for M_TRYWAIT itself was that an original mbuf's
:> M_WAIT could return NULL.)
:>
:..
:
:This seems reasonable to me for exactly the reasons you stte. We might
:simultaneously want to complete the M_DONTWAIT -> M_NOWAIT conversion. And
:you can then remove the XXX comment in mbuf.h about phasing out M_TRYWAIT and
:M_DONTWAIT. :-)
:
:Robert N M Watson
The real issue is the fact that both the kernel malloc and the mbuf
allocation APIs are using the same M_ prefix for their flags.
We converted our mbuf allocator flags (aka M_DONTWAIT, M_TRYWAIT, M_WAIT)
from M_ to MB_ and the code became a whole lot easier to read.
I would not recommend converting the mbuf allocator to actually *USE*
kernel malloc flags. The problem there is that you then have no clear
delineation between M_ flags supported by malloc and M_ flags supported
by the mbuf allocator.
-Matt
More information about the freebsd-arch
mailing list