Subject: Re: userid partitioned swap spaces.
To: None <tech-kern@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: tech-kern
Date: 12/16/1998 11:33:07
[ On Wed, December 16, 1998 at 01:14:59 (-0800), John Nemeth wrote: ]
> Subject: Re: userid partitioned swap spaces.
>
> memory more efficiently, some "brilliant" person invented
> overcommitting of memory (I believe this was done in SysV).

I don't know when SysV adopted this policy, if indeed it ever has (I'm
fairly certain SysVr4.0 never over-committed swap), but 4.4BSD did so
with the Mach VM, as mentioned on p.148 of McKusick et al's "The Design
and Implementation of the 4.4BSD Operating System".  I hope everyone
reading this list has a copy, but in case your's isn't handy just now:

	Trackihg the outstanding virtual memory accurately is a complex
	task. the 4.4BSD system makes no effort to calculate the
	outstanding-memory load and can be made to promise more than it
	can deliver.  When memory resources run out, it either picks a
	process to kill or simply hangs.  An important future
	enhancement is to track the amount of virtual memory being used
	by the processes in the system.

As Christos mentioned, AIX does as well, but they took the "easy" way
out and made the signal used to kill big processes both reliable
(i.e. the system was never supposed to hang), and catchable (so that
processes in the know could avoid an untimely death).

(I take it that even UVM hasn't made that "important future enhancement"
yet... ;-)

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>