mirror of
https://review.haiku-os.org/haiku
synced 2025-01-21 05:53:46 +01:00
f8941839c3
vm_page_reserve_pages() and vm_page_allocate_page() will now steal pages from the inactive queue as needed. * We currently never steal active pages anymore, but this might need to be revised later (therefore, the page scanner never waits anymore, but uses mutex_trylock() to lock a cache). * The page scanner and writer now both run at normal priority - let's see how that will work out. * Introduced an inactive queue. * Instead of shuffling pages around in the queue (and therefore destroying LRU) the page stealing mechanism now uses a marker page to be able to release the page lock without losing its position in the queue. * The page writer now always grabs the whole release count of the semaphore, so that there won't be a huge backlog to catch up with. * vm_page_num_free_pages() now also includes the inactive queue as well as the reserved pages (they are no longer regarded as free pages). * Added a insert_page_after() function that inserts a page after another one, needed by the marker code. * clear_page() now gets a vm_page instead of a physical address which simplified some code. * Removed superfluous initialization of the queues (if those aren't zeroed on start, we would have serious problems, anyway). * Removed old and unimplemented dump_free_page_table() ("free_pages") KDL command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22506 a95241bf-73f2-0310-859d-f6bbb57e9c96