Disposal of a misleading M_TRYWAIT

Robert Watson rwatson at FreeBSD.org
Sat Mar 22 13:57:39 UTC 2008


On Sat, 22 Mar 2008, Ruslan Ermilov wrote:

> I'd like to remove the misleading uses of M_TRYWAIT throughout the tree and 
> clean up some dead code that assumes its original behavior (that it could 
> return NULL).
>
> 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.)
>
> There is little or no sign that this will change, and there are lots of 
> consumers that already pass M_WAITOK to mbuf allocator routines and rely on 
> its invariants, so support for the concept of M_TRYWAIT has rotted and would 
> have to be re-written anyway if reintroduced.
>
> http://people.freebsd.org/~ru/patches/M_TRYWAIT.patch

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
Computer Laboratory
University of Cambridge


More information about the freebsd-arch mailing list