cvs commit: src/sys/vm vm_extern.h vm_fault.c vm_map.c vm_page.c
Paul Saab
ps at FreeBSD.org
Tue Nov 16 11:48:10 PST 2004
ps 2004-11-16 19:48:10 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_4)
sys/vm vm_extern.h vm_fault.c vm_map.c vm_page.c
Log:
MFC:
>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
Reviewed by: alc
Revision Changes Path
1.46.2.5 +2 -3 src/sys/vm/vm_extern.h
1.108.2.10 +10 -52 src/sys/vm/vm_fault.c
1.187.2.31 +17 -5 src/sys/vm/vm_map.c
1.147.2.22 +4 -0 src/sys/vm/vm_page.c
More information about the cvs-all
mailing list