Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2004 19:20:40 +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/amd64/amd64 pmap.c src/sys/amd64/include pmap.h src/sys/i386/i386 pmap.c src/sys/i386/include pmap.h
Message-ID:  <200409291920.i8TJKecC089719@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409291920.i8TJKecC089719>