cvs commit: src/sys/amd64/amd64 pmap.c src/sys/amd64/include pmap.h src/sys/i386/i386 pmap.c src/sys/i386/include pmap.h

Alan Cox alc at FreeBSD.org
Wed Sep 29 12:20:40 PDT 2004


alc         2004-09-29 19:20:40 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      pmap.c 
    sys/amd64/include    pmap.h 
    sys/i386/i386        pmap.c 
    sys/i386/include     pmap.h 
  Log:
  Prevent the unexpected deallocation of a page table page while performing
  pmap_copy().  This entails additional locking in pmap_copy() and the
  addition of a "flags" parameter to the page table page allocator for
  specifying whether it may sleep when memory is unavailable.  (Already,
  pmap_copy() checks the availability of memory, aborting if it is scarce.
  In theory, another CPU could, however, allocate memory between
  pmap_copy()'s check and the call to the page table page allocator,
  causing the current thread to release its locks and sleep.  This change
  makes this scenario impossible.)
  
  Reviewed by: tegge@
  
  Revision  Changes    Path
  1.503     +44 -21    src/sys/amd64/amd64/pmap.c
  1.124     +1 -1      src/sys/amd64/include/pmap.h
  1.509     +38 -18    src/sys/i386/i386/pmap.c
  1.114     +1 -1      src/sys/i386/include/pmap.h


More information about the cvs-src mailing list