Introduced vm_page::modified flag, which is used by vm_unmap_page[s]() to
preserve the dirty flag of the mapping without having to potentially move the page to the modified queue. This lifts the (ignored) requirement that the pages to be unmapped must not be busy. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35023 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
b3a6a13635
commit
829f302836
@ -413,6 +413,7 @@ dump_page(int argc, char **argv)
|
||||
kprintf("wired_count: %d\n", page->wired_count);
|
||||
kprintf("usage_count: %d\n", page->usage_count);
|
||||
kprintf("busy_writing: %d\n", page->busy_writing);
|
||||
kprintf("modified: %d\n", page->modified);
|
||||
#if DEBUG_PAGE_QUEUE
|
||||
kprintf("queue: %p\n", page->queue);
|
||||
#endif
|
||||
@ -2168,6 +2169,7 @@ vm_page_allocate_page(int pageState)
|
||||
int oldPageState = page->state;
|
||||
page->state = PAGE_STATE_BUSY;
|
||||
page->usage_count = 2;
|
||||
page->modified = 0;
|
||||
|
||||
locker.Unlock();
|
||||
|
||||
@ -2204,6 +2206,7 @@ allocate_page_run(page_num_t start, page_num_t length, int pageState,
|
||||
|
||||
page.state = PAGE_STATE_BUSY;
|
||||
page.usage_count = 1;
|
||||
page.modified = 0;
|
||||
}
|
||||
|
||||
freeClearQueueLocker.Unlock();
|
||||
|
Loading…
x
Reference in New Issue
Block a user