]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC revision 1.547
authoralc <alc@FreeBSD.org>
Tue, 27 Mar 2007 04:42:26 +0000 (04:42 +0000)
committeralc <alc@FreeBSD.org>
Tue, 27 Mar 2007 04:42:26 +0000 (04:42 +0000)
commit85231f25568d5eb877597f4b81da6adfcce53c8e
tree8ed8bae19d715d95f345299ae342b79019cc1f54
parent83883fc711c519c02c4ab4e3aec5474f1a955d1b
MFC revision 1.547
  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.
sys/i386/i386/pmap.c