From owner-freebsd-current Tue Apr 21 23:39:00 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA01900 for freebsd-current-outgoing; Tue, 21 Apr 1998 23:39:00 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from smtp03.primenet.com (daemon@smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA01763 for ; Wed, 22 Apr 1998 06:38:38 GMT (envelope-from tlambert@usr06.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.8.8/8.8.8) id XAA02449; Tue, 21 Apr 1998 23:38:35 -0700 (MST) Received: from usr06.primenet.com(206.165.6.206) via SMTP by smtp03.primenet.com, id smtpd002441; Tue Apr 21 23:38:28 1998 Received: (from tlambert@localhost) by usr06.primenet.com (8.8.5/8.8.5) id XAA01355; Tue, 21 Apr 1998 23:38:27 -0700 (MST) From: Terry Lambert Message-Id: <199804220638.XAA01355@usr06.primenet.com> Subject: Re: panic: vm_page_free: freeing busy page To: sfarrell+lists@farrell.org Date: Wed, 22 Apr 1998 06:38:27 +0000 (GMT) Cc: syssgm@dtir.qld.gov.au, freebsd-current@FreeBSD.ORG In-Reply-To: <87n2dfp1e1.fsf@phaedrus.uchicago.edu> from "sfarrell+lists@farrell.org" at Apr 21, 98 11:47:50 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Well, no, but I got a question: in freebsd current, what prevents the > kernel from reallocating a process' memory after it calls exit() and > before it is finished freeing its memory up? I'm reading in the > 4.4BSD book p. 155 that they raise the interrupt level, and I > understand that doesn't work for SMP. So presumably there is some new > mechanism for this in current? (which might be related to this > crash??) By definition, all tracked resources, with the exception of the proc struct, are freed by a process when exit(2) is called. Specifically, the proc struct is left around so the parent can "reap" the process using the "wait" family of calls. The status is reaped from the proc struct. Programs do not return from the exit(2) call. The meory may be reused. in general, this would be done because it's perfectly reasonable to reuse the memory, since it was freed. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message