freebsd-skq/sys/vm
Alan Cox 6bbee8e28a Add a new option, OBJPR_NOTMAPPED, to vm_object_page_remove(). Passing this
option to vm_object_page_remove() asserts that the specified range of pages
is not mapped, or more precisely that none of these pages have any managed
mappings.  Thus, vm_object_page_remove() need not call pmap_remove_all() on
the pages.

This change not only saves time by eliminating pointless calls to
pmap_remove_all(), but it also eliminates an inconsistency in the use of
pmap_remove_all() versus related functions, like pmap_remove_write().  It
eliminates harmless but pointless calls to pmap_remove_all() that were being
performed on PG_UNMANAGED pages.

Update all of the existing assertions on pmap_remove_all() to reflect this
change.

Reviewed by:	kib
2011-06-29 16:40:41 +00:00
..
default_pager.c Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
device_pager.c Eliminate duplication of the fake page code and zone by the device and sg 2011-03-11 07:07:48 +00:00
memguard.c Change memguard_fudge() so that it can handle km_max being zero. Not 2010-12-14 05:47:35 +00:00
memguard.h
phys_pager.c Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
pmap.h Sort function prototypes. 2011-01-16 20:40:50 +00:00
redzone.c
redzone.h
sg_pager.c Eliminate duplication of the fake page code and zone by the device and sg 2011-03-11 07:07:48 +00:00
swap_pager.c Reap old SPL comments. 2011-04-26 22:18:53 +00:00
swap_pager.h
uma_core.c Correct an error in r222163. Unless UMA_MD_SMALL_ALLOC is defined, 2011-05-22 17:46:16 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h 1. Prior to r214782, UMA did not support multipage allocations before 2011-05-21 17:43:43 +00:00
uma.h
vm_contig.c Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
vm_extern.h Move vm_object_print()'s prototype to the expected place. 2010-12-27 07:12:22 +00:00
vm_fault.c Revert to using the page queues lock in vm_page_clear_dirty_mask() on 2011-06-23 05:23:59 +00:00
vm_glue.c Fix several places to ignore processes that are not yet fully constructed. 2011-04-06 17:47:22 +00:00
vm_init.c
vm_kern.c Move the ZERO_REGION_SIZE to a machine-dependent file, as on many 2011-05-13 19:35:01 +00:00
vm_kern.h
vm_map.c Add a new option, OBJPR_NOTMAPPED, to vm_object_page_remove(). Passing this 2011-06-29 16:40:41 +00:00
vm_map.h - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +00:00
vm_meter.c Fix some locking nits with the p_state field of struct proc: 2011-03-24 18:40:11 +00:00
vm_mmap.c Add accounting for most of the memory-related resources. 2011-04-05 20:23:59 +00:00
vm_object.c Add a new option, OBJPR_NOTMAPPED, to vm_object_page_remove(). Passing this 2011-06-29 16:40:41 +00:00
vm_object.h Add a new option, OBJPR_NOTMAPPED, to vm_object_page_remove(). Passing this 2011-06-29 16:40:41 +00:00
vm_page.c Revert to using the page queues lock in vm_page_clear_dirty_mask() on 2011-06-23 05:23:59 +00:00
vm_page.h Precisely document the synchronization rules for the page's dirty field. 2011-06-19 19:13:24 +00:00
vm_pageout.c In vm_daemon(), do not skip processes stopped with SIGSTOP. 2011-04-06 16:27:04 +00:00
vm_pageout.h vm_pageout_flush() might cache the pages that finished write to the 2010-11-18 21:09:02 +00:00
vm_pager.c Move the definition of M_VMPGDATA to the swap pager, where the only 2011-01-18 04:54:43 +00:00
vm_pager.h Move the definition of M_VMPGDATA to the swap pager, where the only 2011-01-18 04:54:43 +00:00
vm_param.h
vm_phys.c Explicitly wire the user buffer rather than doing it implicitly in 2011-01-27 00:34:12 +00:00
vm_phys.h
vm_reserv.c Explicitly wire the user buffer rather than doing it implicitly in 2011-01-27 00:34:12 +00:00
vm_reserv.h
vm_unix.c Add accounting for most of the memory-related resources. 2011-04-05 20:23:59 +00:00
vm_zeroidle.c
vm.h Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
vnode_pager.c Add a new option, OBJPR_NOTMAPPED, to vm_object_page_remove(). Passing this 2011-06-29 16:40:41 +00:00
vnode_pager.h In the VOP_PUTPAGES() implementations, change the default error from 2011-06-01 21:00:28 +00:00