From owner-freebsd-hackers Mon May 21 22: 0:12 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id 8454937B424; Mon, 21 May 2001 22:00:09 -0700 (PDT) (envelope-from dillon@earth.backplane.com) Received: (from dillon@localhost) by earth.backplane.com (8.11.3/8.11.2) id f4M505o12021; Mon, 21 May 2001 22:00:05 -0700 (PDT) (envelope-from dillon) Date: Mon, 21 May 2001 22:00:05 -0700 (PDT) From: Matt Dillon Message-Id: <200105220500.f4M505o12021@earth.backplane.com> To: David Malone Cc: John Baldwin , hackers@FreeBSD.org, "Brian F. Feldman" Subject: Re: RE: vmspace leak (+ tentative fix) References: <200105211935.f4LJZHx05386@earth.backplane.com> <20010521232704.A64450@walton.maths.tcd.ie> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG : :On Mon, May 21, 2001 at 12:35:17PM -0700, Matt Dillon wrote: : :> It's important to release resources as early as possible, so zombied :> processes don't run the machine out of memory if a parent forgets to :> reap its children. : :I've found one other reason for releasing resources early. For :example the vrele of a zombie process' text vnode is done by the :process which reaps that zombie. If you can make the vrele block :then the parent will block. : :I've seen this happen with NFS bugs, where init has got stuck in :a "vmopar" and ended up blocking forever. The machine runs out of :processes relatively quickly once init can't clear up zombies. : :I've been using the following patch at home, which moves the :vrele from wait in the parent to exit in the child. I wonder :if it is worth committing? (The clearing of p_textvp is to :stop ps and friends tripping up over a half free vnode - I'm :not sure if it is necessary). : : David. That's a very good reason, and your patch looks fine. Do you want me to do a quick double-check of it and commit it to -current (and -stable a few days later) ? I think releasing the text vnode in the child is absolutely the best way to do it. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message