freebsd-skq/sys/vm
peter e0dbc46fb0 Implement idle zeroing of pages. I've been tinkering with this
on and off since John Dyson left his work-in-progress.

It is off by default for now.  sysctl vm.zeroidle_enable=1 to turn it on.

There are some hacks here to deal with the present lack of preemption - we
yield after doing a small number of pages since we wont preempt otherwise.

This is basically Matt's algorithm [with hysteresis] with an idle process
to call it in a similar way it used to be called from the idle loop.

I cleaned up the includes a fair bit here too.
2001-08-25 05:00:44 +00:00
..
default_pager.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
device_pager.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
phys_pager.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
pmap.h
swap_pager.c Limit the amount of KVM reserved for the buffer cache and for swap-meta 2001-08-20 00:41:12 +00:00
swap_pager.h
vm_contig.c Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). 2001-07-04 23:27:09 +00:00
vm_extern.h
vm_fault.c Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). 2001-07-04 23:27:09 +00:00
vm_glue.c whitespace / register cleanup 2001-07-04 19:00:13 +00:00
vm_init.c Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
vm_kern.c - Remove asleep(), await(), and M_ASLEEP. 2001-08-10 06:56:12 +00:00
vm_kern.h Introduce numerous SMP friendly changes to the mbuf allocator. Namely, 2001-06-22 06:35:32 +00:00
vm_map.c Change inlines back into mainline code in preparation for mutexing. Also, 2001-07-04 20:15:18 +00:00
vm_map.h Change inlines back into mainline code in preparation for mutexing. Also, 2001-07-04 20:15:18 +00:00
vm_meter.c whitespace / register cleanup 2001-07-04 19:00:13 +00:00
vm_mmap.c Remove support for the badly broken MAP_INHERIT (from -current only). 2001-08-24 19:29:56 +00:00
vm_object.c Remove the use of atomic ops to manipulate vm_object and vm_page flags. 2001-07-31 04:03:53 +00:00
vm_object.h Oops. Last commit to vm_object.c should have got these files too. 2001-07-31 04:09:52 +00:00
vm_page.c Implement idle zeroing of pages. I've been tinkering with this 2001-08-25 05:00:44 +00:00
vm_page.h Implement idle zeroing of pages. I've been tinkering with this 2001-08-25 05:00:44 +00:00
vm_pageout.c Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). 2001-07-04 23:27:09 +00:00
vm_pageout.h - Remove asleep(), await(), and M_ASLEEP. 2001-08-10 06:37:05 +00:00
vm_pageq.c Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc). 2001-07-04 23:27:09 +00:00
vm_pager.c Whitespace fixes. 2001-08-04 20:49:29 +00:00
vm_pager.h With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
vm_param.h
vm_swap.c Permit direct swapping to NFS regular files using swapon(2). We 2001-07-28 20:18:38 +00:00
vm_unix.c whitespace / register cleanup 2001-07-04 19:00:13 +00:00
vm_zeroidle.c Implement idle zeroing of pages. I've been tinkering with this 2001-08-25 05:00:44 +00:00
vm_zone.c Add a missing semicolon to unbreak the kernel build with INVARIANTS 2001-08-05 03:55:02 +00:00
vm_zone.h Add a zdestroy() function to the zone allocator. This is needed for the 2001-08-04 20:17:05 +00:00
vm.h Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
vnode_pager.c Whitespace fixes. 2001-08-04 20:49:29 +00:00
vnode_pager.h