DragonFly BSD
DragonFly commits List (threaded) for 2011-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Rewrite the x86-64 pmap code


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 26 Oct 2011 11:46:41 -0700 (PDT)

commit 701c977e41807eb03343c695da4625c091d152b1
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Wed Oct 26 11:42:18 2011 -0700

    kernel - Rewrite the x86-64 pmap code
    
    * Use unassociated VM pages (without a VM object) for all page table pages.
    
    * Remove kptobj and pmap->pm_pteobj.
    
    * For the moment implement a Red-Black tree for pv_entry_t manipulation.
      Revamp the pindex to include all page table page levels, from terminal
      pages to the PML4 page.  The hierarchy is now arranged via the PV system.
    
    * As before, the kernel page tables only use PV entries for terminal pages.
    
    * Refactor the locking to allow blocking operations during deep scans.
      Individual PV entries are now locked and critical PMAP operations do not
      require the pmap->pm_token.  This should greatly improve threaded
      program performance.
    
    * Fix kgdb on the live kernel (pmap_extract() was not handling short-cutted
      page directory pages).

Summary of changes:
 sys/platform/pc64/include/pmap.h    |   54 +-
 sys/platform/pc64/include/vmparam.h |    2 +-
 sys/platform/pc64/x86_64/machdep.c  |    1 +
 sys/platform/pc64/x86_64/pmap.c     | 3261 +++++++++++++++++------------------
 4 files changed, 1666 insertions(+), 1652 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/701c977e41807eb03343c695da4625c091d152b1


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]