mirror of
https://review.haiku-os.org/haiku
synced 2025-02-23 22:18:13 +01:00
* The page_thief() will no longer steal any pages in B_LOW_MEMORY_NOTE state, only in the more serious cases. * I've disabled stealing active pages for now again; there seem to be some problems with it (either with how we do it, or with other stuff). * vm_page_schedule_write_page() now always releases the page writer semaphore, resulting in many more written pages - this isn't optimal as long as there is no I/O scheduler, but before it was much too rare when there are many dirty pages. * Customized the thread priorities a bit to make the page scanner/thief/writer experience a bit nicer with our current scheduler. * vm_page_reserve_pages() would return too early, it did not test if really enough pages are free. * Under certain circumstances, the wakeup from vm_page_reserve_pages() did not work - we now always notify in vm_page_unreserve_pages() to work around that problem. * Checked if the page reservations are done when needed and are always balanced for the whole kernel. * vm_page_allocate_page() now panics if it can't deliver a reserved page. * vm_page_allocate_page_run() can no longer steal reserved pages. * With all of those changes, I could finally copy a file in emulation, ie. the Luposian bug should finally be fixed, even though the system might still not be perfectly stable under low memory. Will do some more testing. * write_page() no longer prints something on failure. * Dumping a whole page queue will now also write the cache type of each page. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22486 a95241bf-73f2-0310-859d-f6bbb57e9c96