*BSD News Article 28027


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!bruce.cs.monash.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!deep.rsoft.bc.ca!giant!a09878
From: a09878@giant.rsoft.bc.ca (Curt Sampson)
Newsgroups: comp.os.386bsd.development
Subject: Re: Notes on the *new* FreeBSD V1.1 VM system
Date: 2 Mar 94 19:18:14 GMT
Organization: MIND LINK! Communications Corp.
Lines: 25
Message-ID: <a09878.762635894@giant>
References: <CLutBp.4K9@flatlin.ka.sub.org> <2kudpoINNbhd@CS.UTK.EDU> <1994Mar1.132637.58107@ans.net> <a09878.762550221@giant> <2l0b06$2qi@GRAPEVINE.LCS.MIT.EDU>
NNTP-Posting-Host: giant.rsoft.bc.ca

wollman@ginger.lcs.mit.edu (Garrett Wollman) writes:

>Say my default stack limit is 256MB.  Does that mean that I have to
>have 256MB of backing store available to start any new process?  If
>so, will you pay for all my disks from now on?  If not, why not, and
>what happens when a stack grow causes you to run out of memory?

Well, again, I know little about the intricate details of VM systems,
but I would think that this wouldn't be much of a problem. Wouldn't a
scheme like this work?

Allocate a few pages for the stack and mark the last page so that
when it's written to you get a fault. When that page faults, attempt
to expand the stack. If there's not enough swap to back up the memory
you're trying to allocate you've run out of memory, and you can't
expand it, so you allocate no more stack and either inform or
terminate the process when it tries to expand the stack beyond the
last page.

cjs
--
Curt Sampson  a09878@giant.rsoft.bc.ca
Fluor Daniel		  604 691 5458
1444 Alberni Street				De te fabula est.
Vanouver, B.C., V6G 2Z4