cvs commit: src/sys/sun4v/sun4v pmap.c tte.c

Kip Macy kmacy at FreeBSD.org
Sun Dec 24 00:03:27 PST 2006


kmacy       2006-12-24 08:03:27 UTC

  FreeBSD src repository

  Modified files:
    sys/sun4v/sun4v      pmap.c tte.c 
  Log:
  - remove all calls to sched_pin and sched_unpin as they are only useful to
    pmap on i386
  - check for change in executable status in pmap_enter
  - pmap_qenter and pmap_qremove only need to invalidate the range if one
    of the pages has been referenced
  - remove pmap_kenter/pmap_kremove as they were only used by pmap_qenter
    and pmap_qremove
  - in pmap_copy don't copy wired bit to destination pmap
  - mpte was unused in pmap_enter_object - remove
  - pmap_enter_quick_locked is not called on the kernel_pmap, remove check
  - move pmap_remove_write specific logic out of tte_clear_phys_bit
  - in pmap_protect check for removal of execute bit
  - panic in the presence of a wired page in pmap_remove_all
  - pmap_zero_range can call hwblkclr if offset is zero and size is PAGE_SIZE
  - tte_clear_virt_bit is only used by pmap_change_wiring - thus it can be
    greatly simplified
  - pmap_invalidate_page need only be called in tte_clear_phys_bit if there
    is a match with flags
  - lock the pmap in tte_clear_phys_bit so that clearing the page bits is
    atomic with invalidating the page
  
  - these changes result in 100s reduction in buildworld from a malloc backed
    disk to a malloc backed disk - ~2.5%
  
  Revision  Changes    Path
  1.30      +64 -104   src/sys/sun4v/sun4v/pmap.c
  1.3       +14 -29    src/sys/sun4v/sun4v/tte.c


More information about the cvs-src mailing list