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