Date: Sun, 7 Oct 2007 18:03:04 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/sparc64 pmap.c src/sys/vm vm_page.c Message-ID: <200710071803.l97I34YA088873@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
alc 2007-10-07 18:03:04 UTC FreeBSD src repository Modified files: sys/sparc64/sparc64 pmap.c sys/vm vm_page.c Log: Correct a lock assertion failure in sparc64's pmap_page_is_mapped() that is a consequence of sparc64/sparc64/vm_machdep.c revision 1.76. It occurs when uma_small_free() frees a page. The solution has two parts: (1) Mark pages allocated with VM_ALLOC_NOOBJ as PG_UNMANAGED. (2) Defer the lock assertion in pmap_page_is_mapped() until after PG_UNMANAGED is tested. This is safe because both PG_UNMANAGED and PG_FICTITIOUS are immutable flags, i.e., they do not change state between the time that a page is allocated and freed. Approved by: re (kensmith) PR: 116794 Revision Changes Path 1.166 +1 -1 src/sys/sparc64/sparc64/pmap.c 1.356 +1 -1 src/sys/vm/vm_page.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710071803.l97I34YA088873>