haiku/headers/private/kernel/vm
Ingo Weinhold b944766870 * Moved the vm_page initialization from vm_page.cpp:vm_page_init() to the new
vm_page::Init().
* Made vm_page::wired_count private and added accessor methods.
* Added VMCache::fWiredPagesCount (the number of wired pages the cache
  contains) and accessor methods.
* Made more use of vm_page::IsMapped().
* vm_copy_on_write_area(): Added vm_page_reservation* parameter that can be
  used to request a special handling for wired pages. If given the wired pages
  are replaced by copies and the original pages are moved to the upper cache.
* vm_copy_area():
  - We don't need to do any wired ranges handling, if the source area is a
    B_SHARED_AREA, since we don't touch the area's mappings in this case.
  - We no longer wait for wired ranges of the concerned areas to disappear.
    Instead we use the new vm_copy_on_write_area() feature and just let it
    copy the wired pages. This fixes #6288, an issue introduced with the use
    of user mutexes in libroot: When executing multiple concurrent fork()s all
    but the first one would wait on the fork mutex, which (being a user mutex)
    would wire a page that the vm_copy_area() of the first fork() would wait
    for.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-10 15:08:13 +00:00
..
vm_page.h Added vm_page_max_address() which returns the greatest address of accessible 2010-06-23 13:52:32 +00:00
vm_priv.h
vm_types.h * Moved the vm_page initialization from vm_page.cpp:vm_page_init() to the new 2010-07-10 15:08:13 +00:00
vm.h Added vm_available_not_needed_memory_debug(), a 2010-06-18 20:57:05 +00:00
VMAddressSpace.h * Introduced structures {virtual,physical}_address_restrictions, which specify 2010-06-14 16:25:14 +00:00
VMArea.h
VMCache.h * Moved the vm_page initialization from vm_page.cpp:vm_page_init() to the new 2010-07-10 15:08:13 +00:00
VMTranslationMap.h Moved duplicate code from the VMTranslationMap subclasses' UnmapPage() and 2010-06-21 13:32:33 +00:00