cvs commit: src/sys/vm vm_extern.h vm_fault.c vm_map.c vm_page.c
Alan Cox
alc at FreeBSD.org
Fri May 21 21:53:52 PDT 2004
alc 2004/05/21 21:53:52 PDT
FreeBSD src repository
Modified files:
sys/vm vm_extern.h vm_fault.c vm_map.c vm_page.c
Log:
To date, unwiring a fictitious page has produced a panic. The reason
being that PHYS_TO_VM_PAGE() returns the wrong vm_page for fictitious
pages but unwiring uses PHYS_TO_VM_PAGE(). The resulting panic
reported an unexpected wired count. Rather than attempting to fix
PHYS_TO_VM_PAGE(), this fix takes advantage of the properties of
fictitious pages. Specifically, fictitious pages will never be
completely unwired. Therefore, we can keep a fictitious page's wired
count forever set to one and thereby avoid the use of
PHYS_TO_VM_PAGE() when we know that we're working with a fictitious
page, just not which one.
In collaboration with: green@, tegge@
PR: kern/29915
Revision Changes Path
1.73 +2 -2 src/sys/vm/vm_extern.h
1.188 +10 -11 src/sys/vm/vm_fault.c
1.335 +13 -5 src/sys/vm/vm_map.c
1.284 +4 -0 src/sys/vm/vm_page.c
More information about the cvs-src
mailing list