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