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

Alan Cox alc at FreeBSD.org
Sat Sep 20 16:25:03 UTC 2008


alc         2008-09-20 16:24:42 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        pmap.c 
  Log:
  SVN rev 183207 on 2008-09-20 16:24:42Z by alc
  
  MFamd64 SVN rev 179749 CVS rev 1.620
    Reverse the direction of pmap_promote_pde()'s traversal over the specified
    page table page.  The direction of the traversal can matter if
    pmap_promote_pde() has to remove write access (PG_RW) from a PTE that
    hasn't been modified (PG_M).  In general, if there are two or more such
    PTEs to choose among, it is better to write protect the one nearer the
    high end of the page table page rather than the low end.  This is because
    most programs access memory in an ascending direction.  The net result of
    this change is a sometimes significant reduction in the number of failed
    promotion attempts and the number of pages that are write protected by
    pmap_promote_pde().
  
  MFamd64 SVN rev 179777 CVS rev 1.621
    Tweak the promotion test in pmap_promote_pde().  Specifically, test PG_A
    before PG_M.  This sometimes prevents unnecessary removal of write access
    from a PTE.  Overall, the net result is fewer demotions and promotion
    failures.
  
  Revision  Changes    Path
  1.629     +32 -16    src/sys/i386/i386/pmap.c


More information about the cvs-src mailing list