Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Dec 2000 21:58:21 -0500 (EST)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        dg@root.com
Subject:   Re: zero copy code review 
Message-ID:  <200012020258.VAA45432@khavrinen.lcs.mit.edu>
In-Reply-To: <mit.lcs.mail.freebsd-arch/200012020202.SAA14681@implode.root.com>
References:  <mit.lcs.mail.freebsd-arch/Pine.BSF.4.21.0012011758110.46782-100000@beppo.feral.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <mit.lcs.mail.freebsd-arch/200012020202.SAA14681@implode.root.com> you write:

>   FreeBSD blocked indefinitly and never returned a NULL pointer.

It has never been like that in the FreeBSD era, to my knowledge.  4.3
(or at least 4.3+Wisconsin NFS) slept for mbufs but panicked if it
couldn't allocate a cluster; 4.4 as we got it would drain protocols
once, for mbufs only, and then return nil if there were still no mbufs
free -- thus causing a page-not-present fault a few instructions later
as code which assumed M_WAIT could never fail dereferenced the null
pointer.

Deadlocks may have been possible under 4.3+NFS, if the kernel wanted
to allocate a page of physical memory for more mbufs, but all
potentially-available memory was both dirty and backed by NFS (think
diskless workstation).  My guess is that this is why 4.4 did not
sleep.

-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-arch" in the body of the message




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