From owner-freebsd-current@FreeBSD.ORG Thu Jun 2 01:48:24 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3F91C16A422; Thu, 2 Jun 2005 01:48:24 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id B246543D1F; Thu, 2 Jun 2005 01:48:21 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.14] (imini.samsco.home [192.168.254.14]) (authenticated bits=0) by pooker.samsco.org (8.13.3/8.13.3) with ESMTP id j521tCK9021939; Wed, 1 Jun 2005 19:55:12 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <429E64F7.2040300@samsco.org> Date: Wed, 01 Jun 2005 19:46:31 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.7) Gecko/20050416 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Andre Guibert de Bruet References: <200506020107.j5217fV2002101@gw.catspoiler.org> <20050601211542.G41030@lexi.siliconlandmark.com> In-Reply-To: <20050601211542.G41030@lexi.siliconlandmark.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.8 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on pooker.samsco.org Cc: Alexander@Leidinger.net, Don Lewis , phk@phk.freebsd.dk, current@freebsd.org Subject: Re: [RFC] [PATCH] VM & VFS changes X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2005 01:48:24 -0000 Andre Guibert de Bruet wrote: > > On Wed, 1 Jun 2005, Don Lewis wrote: > >> On 1 Jun, Andre Guibert de Bruet wrote: >> >>> On Wed, 1 Jun 2005, Alexander Leidinger wrote: >>> >>>> Poul-Henning Kamp wrote: >>>> >>>>> Maybe the simplest solution is also the best: keep track of the >>>>> dependencies and do the cleanup leaf->root on the resulting tree. >> >> >> It might not even be necessary to use a tree. It might be possible to >> just use a list like vfs_unmountall(). > > > I do some similar magic in my diff, to check for devfs. I can write a > function that unmounts all mds first. > >>>> How many userland processes have to be running and consuming memory >>>> which >>>> isn't available as physical RAM at this point in the shutdown sequence? >>>> >>>> Wouldn't a loop like the following be enough? >>>> while swap >>>> umount unbusy-FS >>>> swap-off swap >>>> >>>> This assumes that swap-off doesn't turns off the swap if it isn't >>>> able to put >>>> everything back into other swap or physical RAM areas. >>> >>> >>> I would think that one would want to disable swapping before the unmount >>> of filesystems for the very fact you could have vnode-backed >>> swapspace in >>> use. >> >> >> This order doesn't work either because you might only have 128 MB of >> RAM, but 1 GB of data in /tmp, which is stored on a swap-backed memory >> disk. In this case you'll have to unmount /tmp and toss the md contents >> before you disable swap. > > > I could modify my patchset to get a first pass at MDs, then disable > swap, then unmount UFS/FFS/ext2/etc, then devfs. The question becomes: > Is this the correct process that we should follow? It makes sense to me. > I would like to get input from our VM & VFS gurus on this before I > schedule a hack-and-testathon... :-) > > Cheers! > Andy > This order sounds reasonable. I don't have much more to add, your discussion so far seems to be going in the right direction. Scott