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