Date: Fri, 21 May 2004 21:53:52 -0700 (PDT) From: Alan Cox <alc@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/vm vm_extern.h vm_fault.c vm_map.c vm_page.c Message-ID: <200405220453.i4M4rq8P085834@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405220453.i4M4rq8P085834>