On Sat, 8 May 1999, Luigi Rizzo wrote: > Hi, > > thinking about the supposed "fragility" of FreeBSD when mbufs (or > clusters) are not properly dimensioned: i notice that > in various places of the code (and this is, i think, 4.4 heritage), > there are things like > > m = m_get(M_WAIT, ...) > m->m_len = something. > > looking at the code, it seems that m_get() _can_ return a NULL pointer > even if one specifies M_WAIT. > > Could this be a potential weakness, and in this case, how shuld we go > and fix it -- by making m_get never return if there is no memory, > or by hunting all such occurrences of the code ?
I'm pretty sure there was a discussion about this almost a year ago, the situation with m_get+M_WAIT possibly returning NULL got so man people annoyed that a few sent in patches that REALLY helped FreeBSD remain stable during severe mbuf shortages. Unfortunatly it seems that they didn't catch every place. I think the answer is to figure out how to make these places "back out" instead of making m_get totally blocking, It gives more control. -Alfred To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message