opnsense-src/sys/vm
Matthew Dillon fbcf77c2ea Re-enable the idle page-zeroing code. Remove all IPIs from the idle
page-zeroing code as well as from the general page-zeroing code and use a
lazy tlb page invalidation scheme based on a callback made at the end
of mi_switch.

A number of people came up with this idea at the same time so credit
belongs to Peter, John, and Jake as well.

Two-way SMP buildworld -j 5 tests (second run, after stabilization)
    2282.76 real  2515.17 user  704.22 sys	before peter's IPI commit
    2266.69 real  2467.50 user  633.77 sys	after peter's commit
    2232.80 real  2468.99 user  615.89 sys	after this commit

Reviewed by:	peter, jhb
Approved by:	peter
2002-07-12 20:17:06 +00:00
..
default_pager.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
device_pager.c o Lock accesses to the page queues. 2002-07-12 02:55:55 +00:00
phys_pager.c o Remove GIANT_REQUIRED from phys_pager_alloc(). If handle isn't NULL, 2002-06-22 07:54:42 +00:00
pmap.h Add a special page zero entry point intended to be called via the single 2002-07-08 04:24:26 +00:00
swap_pager.c Avoid using the 64-bit vm_pindex_t in a few places where 64-bit 2002-06-26 20:32:51 +00:00
swap_pager.h Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
uma.h - Remove bogus use of kmem_alloc that was inherited from the old zone 2002-06-19 20:49:44 +00:00
uma_core.c Fix a lock order reversal in uma_zdestroy. The uma_mtx needs to be held across 2002-07-05 21:39:52 +00:00
uma_dbg.c Remove unnecessary includes. 2002-07-05 05:16:19 +00:00
uma_dbg.h Hide a pointer to the malloc_type bucket at the end of the freed memory. If 2002-05-02 09:07:04 +00:00
uma_int.h Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
vm.h - Remove a number of extra newlines that do not belong here according to 2002-03-10 21:52:48 +00:00
vm_contig.c o Lock some (unfortunately, not yet all) accesses to the page queues. 2002-07-12 03:17:22 +00:00
vm_extern.h Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/ 2002-07-07 23:05:27 +00:00
vm_fault.c At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
vm_glue.c Avoid a vm_page_lookup() - that uses a spinlock protected hash. We can 2002-07-12 04:38:51 +00:00
vm_init.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:02:59 +00:00
vm_kern.c o Add a "needs wakeup" flag to the vm_map for use by kmem_alloc_wait() 2002-07-11 02:39:24 +00:00
vm_kern.h o Make contigmalloc1() static. 2002-05-22 01:01:37 +00:00
vm_map.c o Add a "needs wakeup" flag to the vm_map for use by kmem_alloc_wait() 2002-07-11 02:39:24 +00:00
vm_map.h o Add a "needs wakeup" flag to the vm_map for use by kmem_alloc_wait() 2002-07-11 02:39:24 +00:00
vm_meter.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
vm_mmap.c - Hold a lock on the vnode acquired from the file table across the call to 2002-07-06 22:14:38 +00:00
vm_object.c o Lock accesses to the page queues in vm_object_terminate(). 2002-07-09 18:02:03 +00:00
vm_object.h At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
vm_page.c Remove bogus vm_page_wakeup() in vm_page_cowfault() that will cause panics 2002-07-05 23:33:27 +00:00
vm_page.h o Resurrect vm_page_lock_queues(), vm_page_unlock_queues(), and the free 2002-07-04 22:07:37 +00:00
vm_pageout.c Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
vm_pageout.h Remove __P. 2002-03-19 22:20:14 +00:00
vm_pageq.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
vm_pager.c o Remove some long dead code: from revision 1.41 of vm/vm_pager.c 2002-07-01 02:38:05 +00:00
vm_pager.h o Remove some long dead code: from revision 1.41 of vm/vm_pager.c 2002-07-01 02:38:05 +00:00
vm_param.h Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
vm_swap.c Export nswapdev through sysctl(8). 2002-05-31 08:17:58 +00:00
vm_unix.c Part I of RLIMIT_VMEM implementation. Implement core functionality for 2002-06-26 00:29:28 +00:00
vm_zeroidle.c Re-enable the idle page-zeroing code. Remove all IPIs from the idle 2002-07-12 20:17:06 +00:00
vnode_pager.c - Use (OFF_TO_IDX(off) - pi) instead of (OFF_TO_IDX(off - IDX_TO_OFF(pi))). 2002-07-01 14:14:07 +00:00
vnode_pager.h Remove __P. 2002-03-19 22:20:14 +00:00