Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Oct 2007 16:50:36 -0500
From:      Alan Cox <alc@cs.rice.edu>
To:        maksim.yevmenkin@gmail.com
Cc:        current@freebsd.org
Subject:   Re: panic on sparc64
Message-ID:  <470D492C.6080409@cs.rice.edu>

next in thread | raw e-mail | index | archive | help
This lock assertion failure in sparc64's pmap.c was fixed by this commit:

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?470D492C.6080409>