cvs commit: src/sys/i386/i386 pmap.c

Alan Cox alc at
Sat Mar 31 22:13:26 UTC 2007

alc         2007-03-31 22:13:26 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/i386/i386        pmap.c 
  MFC revision 1.559
    Introduce the function pmap_enter_object().
  MFC revision 1.562 (in part)
    Change pmap_enter_quick_locked() to fail rather than wait if it is
    unable to allocate a page table page.  This prevents a race between
    pmap_enter_object() and the page daemon.  Specifically, an inactive
    page that is a successor to the page that was given to
    pmap_enter_quick_locked() might become a cache page while
    pmap_enter_quick_locked() waits and later pmap_enter_object() maps
    the cache page violating the invariant that cache pages are never
    mapped.  Similarly, change
    pmap_enter_quick_locked() to call pmap_try_insert_pv_entry() rather
    than pmap_insert_entry().  Generally speaking,
    pmap_enter_quick_locked() is used to create speculative mappings.  So,
    it should not try hard to allocate memory if free memory is scarce.
    Add an assertion that the object containing m_start is locked in
    pmap_enter_object().  Remove a similar assertion from
    pmap_enter_quick_locked() because that function no longer accesses the
    containing object.
    Remove a stale comment.
  Revision    Changes    Path
  1.523.2.16  +59 -24    src/sys/i386/i386/pmap.c

More information about the cvs-src mailing list