Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Sep 1999 14:40:53 -0400 (EDT)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        Bosko Milekic <bmilekic@dsuper.net>
Cc:        Stas Kisel <stas@sonet.crimea.ua>, avalon@coombs.anu.edu.au, freebsd-hackers@FreeBSD.ORG, freebsd-security@FreeBSD.ORG
Subject:   Re: mbuf shortage situations (followup)
Message-ID:  <199909131840.OAA31048@khavrinen.lcs.mit.edu>
In-Reply-To: <Pine.OSF.4.05.9909122304470.18795-300000@oracle.dsuper.net>
References:  <199909091447.SAA24055@sonet.crimea.ua> <Pine.OSF.4.05.9909122304470.18795-300000@oracle.dsuper.net>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Sun, 12 Sep 1999 23:19:13 -0400 (EDT), Bosko Milekic <bmilekic@dsuper.net> said:

>   This message is in MIME format.  The first part should be readable text,
>   while the remaining parts are likely unreadable without MIME-aware tools.
>   Send mail to mime@docserver.cac.washington.edu for more info.

It would be preferable if text were sent as text, since MIME-encoded
patches require more effort to read.

> 	I'm also aware of the possiblity of some people not liking the
> fact that we tsleep() forever (e.g. tsleep(x,x,x,0)). 


I don't have any problem with sleeping forever -- but I am concerned
about the possibility of deadlock, especially when client-NFS is
involved.  If the problem just moves around and has harder-to-recover
symptoms, the change isn't helping.

The 4.3BSD code had two different behaviors:

	- For clusters, if M_WAIT was specified and there was no space
left in mb_map, it panicked.  However, m_clalloc was never called with
M_WAIT, so that panic was effectively dead code.

	- For mbufs, if M_WAIT was specified and there were no mbufs
available, it would sleep at PZERO - 1 (which was interruptible).

In 4.3, the code was able to deal with cluster allocation failing.  We
have a somewhat different situation now, because many network
interface devices have less-flexible DMA mechanisms which don't allow
packet reception into non-contiguous buffers, so we need to have at
least a certain number of clusters available for this purpose.

-GAWollman

--
Garrett A. Wollman   | O Siem / We are all family / O Siem / We're all the same
wollman@lcs.mit.edu  | O Siem / The fires of freedom 
Opinions not those of| Dance in the burning flame
MIT, LCS, CRS, or NSA|                     - Susan Aglukark and Chad Irschick


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909131840.OAA31048>