svn commit: r211216 - head/sys/mips/mips
Jayachandran C.
jchandra at FreeBSD.org
Thu Aug 12 09:15:27 UTC 2010
Author: jchandra
Date: Thu Aug 12 09:15:27 2010
New Revision: 211216
URL: http://svn.freebsd.org/changeset/base/211216
Log:
Optimization for pmap_kenter(), call pmap_update_page() only when
necessary. On SMP, pmap_update_page() can be costly as it needs a
a smp_rendezvous().
Reviewed by: alc, neel
Obtained from: jmallett (http://svn.freebsd.org/base/user/jmallett/octeon)
Modified:
head/sys/mips/mips/pmap.c
Modified: head/sys/mips/mips/pmap.c
==============================================================================
--- head/sys/mips/mips/pmap.c Thu Aug 12 09:03:21 2010 (r211215)
+++ head/sys/mips/mips/pmap.c Thu Aug 12 09:15:27 2010 (r211216)
@@ -810,7 +810,8 @@ pmap_kenter(vm_offset_t va, vm_paddr_t p
pte = pmap_pte(kernel_pmap, va);
opte = *pte;
*pte = npte;
- pmap_update_page(kernel_pmap, va, npte);
+ if (pte_test(&opte, PTE_V) && opte != npte)
+ pmap_update_page(kernel_pmap, va, npte);
}
/*
More information about the svn-src-head
mailing list