Go to file
thorpej 7fd701e0fa Add support for multiple memory free lists. There is at least one
default free list, and 0 - N additional free list, in order of descending
priority.

A new page allocation function, uvm_pagealloc_strat(), has been added,
providing three page allocation strategies:

	- normal: high -> low priority free list walk, taking the
	  page off the first free list that has one.

	- only: attempt to allocate a page only from the specified free
	  list, failing if that free list has none available.

	- fallback: if `only' fails, fall back on `normal'.

uvm_pagealloc(...) is provided for normal use (and is a synonym for
uvm_pagealloc_strat(..., UVM_PGA_STRAT_NORMAL, 0); the free list argument
is ignored for the `normal' case).

uvm_page_physload() now specified which free list the pages will be
loaded onto.  This means that some platforms which have multiple physical
memory segments may define additional vm_physsegs if they wish to break
individual physical segments into differing priorities.

Machine-dependent code must define _at least_ the following constants
in <machine/vmparam.h>:

	VM_NFREELIST: the number of free lists the system will have

	VM_FREELIST_DEFAULT: the default freelist (should always be 0,
	but is defined in machdep code so that it's with all of the
	other free list-related constants).

Additional free list names may be defined by machine-dependent code, but
they will only be used by machine-dependent code (e.g. for loading the
vm_physsegs).
1998-07-08 04:28:27 +00:00
bin - change setgid kmem programs (that lend themselves to this) so setegid(getgid()) 1998-07-06 07:50:18 +00:00
distrib Add mbppio.h 1998-07-07 11:21:54 +00:00
etc nvram support. 1998-07-03 11:58:28 +00:00
games - use an array MAXHOSTNAMELEN+1 size to hold hostnames 1998-07-06 06:56:06 +00:00
gnu flush TTY input for "new volume" query, fix for PR#2212 1998-07-06 07:50:27 +00:00
include Addendum to previous change: since pread()'s and pwrite()'s first official 1998-07-02 21:20:54 +00:00
lib Fix sys_siglist and sys_signame declarations with reality; from John F. Woods 1998-07-07 21:26:02 +00:00
libexec - use an array MAXHOSTNAMELEN+1 size to hold hostnames 1998-07-06 06:45:41 +00:00
regress Use PF_* for socket(2) calls. 1998-06-24 23:51:30 +00:00
sbin - change setgid kmem programs (that lend themselves to this) so setegid(getgid()) 1998-07-06 07:50:18 +00:00
share Typo. 1998-07-07 21:39:20 +00:00
sys Add support for multiple memory free lists. There is at least one 1998-07-08 04:28:27 +00:00
usr.bin can't use fclose() in vforked() child this way. Fixes PR 5582. 1998-07-08 00:34:53 +00:00
usr.sbin fix "-s" option 1998-07-07 17:05:28 +00:00
Makefile