Date: Sat, 22 Mar 2008 21:01:23 -0700 From: Sam Leffler <sam@freebsd.org> To: Jeff Roberson <jroberson@chesapeake.net> Cc: arch@freebsd.org Subject: Re: Disposal of a misleading M_TRYWAIT Message-ID: <47E5D613.4060005@freebsd.org> In-Reply-To: <20080322153658.K910@desktop> References: <20080322105145.GA41672@team.vega.ru> <20080322135637.Y6961@fledge.watson.org> <200803230104.m2N14xlf026184@apollo.backplane.com> <20080322153658.K910@desktop>
next in thread | previous in thread | raw e-mail | index | archive | help
Jeff Roberson wrote: > On Sat, 22 Mar 2008, Matthew Dillon wrote: > >> >> :> 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. > > They have been the same allocator for some time now. It makes more > sense for them to use the same flags. We made a decision a while back to not use malloc flags for mbuf routine arguments. There are even assertions to verify it. Changing the flag names however would be a painful change for little gain. Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47E5D613.4060005>