1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/vm
Konstantin Belousov 3280870dca Move the increment of vm object generation count into
vm_object_set_writeable_dirty().

Fix an issue where restart of the scan in vm_object_page_clean() did
not removed write permissions for newly added pages or, if the mapping
for some already scanned page changed to writeable due to fault.
Merge the two loops in vm_object_page_clean(), doing the remove of
write permission and cleaning in the same loop. The restart of the
loop then correctly downgrade writeable mappings.

Fix an issue where a second caller to msync() might actually return
before the first caller had actually completed flushing the
pages. Clear the OBJ_MIGHTBEDIRTY flag after the cleaning loop, not
before.

Calls to pmap_is_modified() are not needed after pmap_remove_write()
there.

Proposed, reviewed and tested by:	alc
MFC after:	1 week
2010-12-29 12:53:53 +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 Add new make_dev_p(9) flag MAKEDEV_ETERNAL to inform devfs that created 2010-08-06 09:42:15 +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 The realloc case for memguard(9) will copy too many bytes when 2010-08-31 16:57:58 +00:00
phys_pager.c Handle busy status of the page in a way expected for pager_getpage(). 2010-05-03 19:19:58 +00:00
pmap.h Roughly half of a typical pmap_mincore() implementation is machine- 2010-05-24 14:26:57 +00:00
redzone.c
redzone.h
sg_pager.c Eliminate page queues locking around most calls to vm_page_free(). 2010-05-06 18:58:32 +00:00
swap_pager.c Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
swap_pager.h
uma_core.c Update startup_alloc() to support multi-page allocations and allow internal 2010-11-04 15:33:50 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h Add a new column to the output of vmstat -z to indicate the number 2010-06-15 19:28:37 +00:00
uma.h Change uma_zone_set_max to return the effective value of "nitems" after 2010-10-16 04:41:45 +00:00
vm_contig.c vm_pageout_flush() might cache the pages that finished write to the 2010-11-18 21:09:02 +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 Correct a typo in vm_fault_quick_hold_pages(). 2010-12-28 20:02:30 +00:00
vm_glue.c Eliminate page queues locking around most calls to vm_page_free(). 2010-05-06 18:58:32 +00:00
vm_init.c Introduce exec_alloc_args(). The objective being to encapsulate the 2010-07-27 17:31:03 +00:00
vm_kern.c Replace an XXX comment with the appropriate code. 2010-09-20 20:41:59 +00:00
vm_kern.h
vm_map.c Fix a long standing (from the original 4.4BSD lite sources) race between 2010-12-09 21:02:22 +00:00
vm_map.h Introduce vm_fault_hold() and use it to (1) eliminate a long-standing race 2010-12-20 22:49:31 +00:00
vm_meter.c
vm_mmap.c Fix comment intentation. 2010-12-04 17:41:58 +00:00
vm_object.c Move the increment of vm object generation count into 2010-12-29 12:53:53 +00:00
vm_object.h Move vm_object_print()'s prototype to the expected place. 2010-12-27 07:12:22 +00:00
vm_page.c Move the increment of vm object generation count into 2010-12-29 12:53:53 +00:00
vm_page.h Implement and use a single optimized function for unholding a set of pages. 2010-12-17 22:41:22 +00:00
vm_pageout.c vm_pageout_flush() might cache the pages that finished write to the 2010-11-18 21:09:02 +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
vm_pager.h Reimplement vm_object_page_clean(), using the fact that vm object memq 2010-07-04 11:26:56 +00:00
vm_param.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00
vm_phys.c Correct some format strings used by sysctls. 2010-10-30 18:00:53 +00:00
vm_phys.h Very rough first cut at NUMA support for the physical page allocator. For 2010-07-27 20:33:50 +00:00
vm_reserv.c Off by one page in vm_reserv_reclaim_contig(): Also reclaim reservations 2010-11-19 04:30:33 +00:00
vm_reserv.h
vm_unix.c
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 Minimize the use of the page queues lock for synchronizing access to the 2010-06-02 15:46:37 +00:00
vnode_pager.h