Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Apr 2006 05:45:05 +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/i386/i386 pmap.c
Message-ID:  <200604020545.k325j5pQ011013@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
alc         2006-04-02 05:45:05 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      pmap.c 
    sys/i386/i386        pmap.c 
  Log:
  Introduce pmap_try_insert_pv_entry(), a function that conditionally creates
  a pv entry if the number of entries is below the high water mark for pv
  entries.
  
  Use pmap_try_insert_pv_entry() in pmap_copy() instead of
  pmap_insert_entry().  This avoids possible recursion on a pmap lock in
  get_pv_entry().
  
  Eliminate the explicit low-memory checks in pmap_copy().  The check that
  the number of pv entries was below the high water mark was largely
  ineffective because it was located in the outer loop rather than the
  inner loop where pv entries were allocated.  Instead of checking, we
  attempt the allocation and handle the failure.
  
  Reviewed by: tegge
  Reported by: kris
  MFC after: 5 days
  
  Revision  Changes    Path
  1.540     +28 -13    src/sys/amd64/amd64/pmap.c
  1.547     +28 -13    src/sys/i386/i386/pmap.c



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