Subject: CVS commit: src/sys/uvm
To: None <source-changes@NetBSD.org>
From: YAMAMOTO Takashi <yamt@netbsd.org>
List: source-changes
Date: 05/05/2004 11:54:32
Module Name: src
Committed By: yamt
Date: Wed May 5 11:54:32 UTC 2004
Modified Files:
src/sys/uvm: uvm_anon.c uvm_anon.h uvm_fault.c uvm_pager.c
Log Message:
fix a amap_wirerange deadlock problem by re-introducing
PG_RELEASED for anon pages. PR/23171 from Christian Limpach.
for details, see discussion filed in the PR database.
uvm_anon_release: a new function to free anon-owned PG_RELEASED page.
uvm_anfree: we can't wait for the page here because the caller might hold
amap lock. instead, just mark the page as PG_RELEASED.
who unbusy the page should check the PG_RELEASED.
uvm_aio_aiodone: uvm_anon_release() instead of uvm_page_unbusy()
if appropriate.
uvmfault_anonget: check PG_RELEASED.
To generate a diff of this commit:
cvs rdiff -r1.28 -r1.29 src/sys/uvm/uvm_anon.c
cvs rdiff -r1.16 -r1.17 src/sys/uvm/uvm_anon.h
cvs rdiff -r1.87 -r1.88 src/sys/uvm/uvm_fault.c
cvs rdiff -r1.62 -r1.63 src/sys/uvm/uvm_pager.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.