thorpej
550678e57f
Oops, fix a typo.
1998-02-13 05:34:30 +00:00
thorpej
e6c31d3db7
KNF.
1998-02-13 05:33:55 +00:00
thorpej
872181c2f2
A few changes to make it possible to read UVM histories from userland:
...
- Protect option headers from inclusion if ! _KERNEL or if _LKM.
- Make sure struct uvm_history is always the same size (not dependent
on NCPU).
- Add fmtlen and fnlen members to struct uvm_history_ent, which specify
the lengths fo the fmt and fn strings.
- Add name, namelen, and a list entry to struct uvm_history.
- When a history is initialized, place it on the global list of all histories.
1998-02-13 04:55:14 +00:00
thorpej
cb5f8ef1df
Add a global list of all UVM histories.
1998-02-13 04:52:00 +00:00
thorpej
90aee42d35
Provide a patchable knob (uvmhist_print_enabled) so that UVM history
...
buffer printing can be switched on and off at run-time. Only exists
if the kernel is build with UVMHIST_PRINT, and defaults to `on'.
1998-02-12 20:10:15 +00:00
chs
7f45dbdfae
add copyright.
1998-02-12 07:36:43 +00:00
mrg
d90485202c
- add defopt's for UVM, UVMHIST and PMAP_NEW.
...
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
perry
021fdb646a
add/cleanup multiple inclusion protection.
1998-02-10 02:34:17 +00:00
mrg
e92c7d991e
KNF.
1998-02-09 14:35:48 +00:00
mrg
7d3aef40b3
keep statistics on pageout/pagein, total pages, and total operations.
1998-02-09 13:08:22 +00:00
mrg
3112d4b3e1
KNF.
1998-02-09 04:05:36 +00:00
mrg
7ff12d37cc
fill out vmtotals: t_free, t_vm, t_avm, t_rm and t_arm. leaves shared of same, and t_pw.
1998-02-08 22:23:33 +00:00
thorpej
39f8b8c99b
Round allocations to page size in uvm_pageboot_alloc().
1998-02-08 18:27:30 +00:00
mrg
6122fae970
KNF
1998-02-08 16:07:57 +00:00
mrg
bc3395e590
turn of UVM history logging by default.
1998-02-08 14:19:21 +00:00
mrg
d9b2f81e27
move pdhist initialisation to the same place as maphist. also, declare
...
the history buffers are "struct uvm_history_ent" to ensure proper
alignment (eg, alpha). this fixes a boottime panic when the pdhist was
used before it had been initialised.
1998-02-08 07:52:28 +00:00
thorpej
1305ecbe62
Allow callers of uvm_km_suballoc() to specify where the base of the
...
submap _must_ begin, by adding a "fixed" boolean argument.
1998-02-08 06:15:53 +00:00
mrg
0a058cb62f
implement counters for pages paged in/out
1998-02-07 17:00:36 +00:00
mrg
4ef57d4d22
KNF.
1998-02-07 12:45:53 +00:00
mrg
5e55ce6648
bzero the entire vmspace, like the old vm does. makes ps report sane values of VSZ for swapper/pagedaemon
1998-02-07 12:31:32 +00:00
mrg
1f6b921cf7
restore rcsids
1998-02-07 11:07:38 +00:00
chs
9b371040ea
keep track of how many pages are currently being paged out,
...
stop initiating new pageouts when "(free + paging) > freetarg".
fix pageq locking.
1998-02-07 02:35:11 +00:00
chs
c2f8ffc062
reserve some pages for the kernel, and some more especially
...
for the pagedaemon allocating from kmem_object. this should
prevent from the pagedaemon running out of memory and deadlocking.
fix counting of wired pages.
add some debugging code to detect attempts to reference free vm_pages.
1998-02-07 02:34:08 +00:00
chs
249efd73a1
enable hashtables for swapslot storage - deadlock is fixed.
...
fix initialization of swhash entries.
use malloc(M_NOWAIT) for creating kernel object.
avoid dereferencing a vm_page once the page has been freed.
1998-02-07 02:32:37 +00:00
chs
39c12db74f
declare aobj_pager, needed in uvm_km.c.
1998-02-07 02:31:06 +00:00
chs
c82ac447df
convert kernel_object to an aobj.
...
in uvm_km_pgremove(), free swapslots if the object is an aobj.
in uvm_km_kmemalloc(), mark pages as wired and count them.
1998-02-07 02:29:21 +00:00
chs
6376c02019
enable paging of kernel_object.
1998-02-07 02:26:46 +00:00
chs
732a925b1b
add locking of kernel_map in uvm_kernacc().
...
check return value of uvm_fault_wire() in uvm_fork().
enable swappings.
1998-02-07 02:26:04 +00:00
chs
29ec5fd8d5
prototype for uvm_map_checkprot() moved here.
...
add uvmexp fields for pagouts-in-progress and kernel-reserved pages.
1998-02-07 02:24:02 +00:00
chs
273ac223ec
prototype for uvm_map_checkprot() moved to uvm_extern.h.
1998-02-07 02:22:24 +00:00
chs
21e2cac359
fix typoes in locking.
...
use M_UVMAMAP instead of M_TEMP for malloc type.
1998-02-07 02:21:29 +00:00
chs
5a7c4f2caa
don't try to relock amap if there isn't one.
1998-02-07 02:19:55 +00:00
chs
7cb9f7e5b1
rearrange a bit for clarity.
1998-02-07 02:18:27 +00:00
chs
098b8c2420
fix typoes in locking.
1998-02-07 02:17:48 +00:00
chs
1f583a43b1
remove locking from UVMCNT counters.
...
they don't need to be exact, and the locking causes problems
in some of places they're used.
1998-02-07 02:16:52 +00:00
thorpej
9eb328b495
RCS ID police.
1998-02-06 22:26:13 +00:00
mrg
f2caacc717
initial import of the new virtual memory system, UVM, into -current.
...
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code. i provided some help
getting swap and paging working, and other bug fixes/ideas. chuck
silvers <chuq@chuq.com> also provided some other fixes.
this is the UVM kernel code portion.
this will be KNF'd shortly. :-)
1998-02-05 06:25:08 +00:00