Skip site navigation (1)Skip section navigation (2)
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>