Date: Thu, 12 Aug 2010 09:15:27 +0000 (UTC) From: "Jayachandran C." <jchandra@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r211216 - head/sys/mips/mips Message-ID: <201008120915.o7C9FRqn034102@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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); } /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008120915.o7C9FRqn034102>