From 9819b36e61acfd5bb1d5649008d08e8a4426eb55 Mon Sep 17 00:00:00 2001 From: kib Date: Sun, 26 Feb 2017 10:53:02 +0000 Subject: MFC r313933, r313939, r313966: Microoptimize pmap_protect_pde() on amd64, i386 and pmap_protect_pte1() on armv6. --- sys/i386/i386/pmap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/i386') diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index ed87fc4..db71c4d 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -3146,12 +3146,12 @@ pmap_protect_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t sva, vm_prot_t prot) anychanged = FALSE; retry: oldpde = newpde = *pde; - if (oldpde & PG_MANAGED) { + if ((oldpde & (PG_MANAGED | PG_M | PG_RW)) == + (PG_MANAGED | PG_M | PG_RW)) { eva = sva + NBPDR; for (va = sva, m = PHYS_TO_VM_PAGE(oldpde & PG_PS_FRAME); va < eva; va += PAGE_SIZE, m++) - if ((oldpde & (PG_M | PG_RW)) == (PG_M | PG_RW)) - vm_page_dirty(m); + vm_page_dirty(m); } if ((prot & VM_PROT_WRITE) == 0) newpde &= ~(PG_RW | PG_M); -- cgit v1.1