cvs commit: src/sys/sparc64/sparc64 pmap.c src/sys/vm vm_page.c
Alan Cox
alc at FreeBSD.org
Sun Oct 7 11:03:04 PDT 2007
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
More information about the cvs-src
mailing list