git: kernel - reformulate some of the pmap code to adhere to the

看板DFBSD_commit作者時間14年前 (2011/11/10 10:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 90244566ec0139f7294d88277589e18403a74c11 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Nov 8 11:44:38 2011 -0800 kernel - reformulate some of the pmap code to adhere to the new rules * hold_count can now be adjusted asynchronously so it cannot be used to count the number of pte's in a page table page. Use wire_count instead. * On i386 there is no extra wire_count for the page table page mapping itself so the pmap_release code should never find a page table page other than the page directory page itself. * Reformulate the *ptep checks in x86-64's pmap_scan() code to avoid races. * Document why busy pages can sometimes be found in the PQ_FREE queues. * Document that other than finding a busy page, pages in PQ_FREE should be ready to go. * It is possible for a wired page to wind up on the inactive queue, the pageout daemon has to deal with the case by dequeueing it. Summary of changes: sys/platform/pc32/i386/pmap.c | 77 ++++++++++++++--------------- sys/platform/pc64/include/pmap.h | 2 +- sys/platform/pc64/x86_64/pmap.c | 98 ++++++++----------------------------- sys/vm/vm_page.c | 40 +++++++++++++--- sys/vm/vm_pageout.c | 16 ++++++ 5 files changed, 108 insertions(+), 125 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/90244566ec0139f7294d88277589e18403a74c11 -- DragonFly BSD source repository
文章代碼(AID): #1EkpVctl (DFBSD_commit)