Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Feb 2017 20:40:07 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r313966 - head/sys/arm/arm
Message-ID:  <201702192040.v1JKe7d6080995@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Sun Feb 19 20:40:07 2017
New Revision: 313966
URL: https://svnweb.freebsd.org/changeset/base/313966

Log:
  MFamd64 r313933: microoptimize pmap_protect_pte1().
  
  Noted by:	alc
  Tested by:	mmel
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week

Modified:
  head/sys/arm/arm/pmap-v6.c

Modified: head/sys/arm/arm/pmap-v6.c
==============================================================================
--- head/sys/arm/arm/pmap-v6.c	Sun Feb 19 20:35:39 2017	(r313965)
+++ head/sys/arm/arm/pmap-v6.c	Sun Feb 19 20:40:07 2017	(r313966)
@@ -4799,12 +4799,11 @@ pmap_protect_pte1(pmap_t pmap, pt1_entry
 	    ("%s: sva is not 1mpage aligned", __func__));
 
 	opte1 = npte1 = pte1_load(pte1p);
-	if (pte1_is_managed(opte1)) {
+	if (pte1_is_managed(opte1) && pte1_is_dirty(opte1)) {
 		eva = sva + PTE1_SIZE;
 		for (va = sva, m = PHYS_TO_VM_PAGE(pte1_pa(opte1));
 		    va < eva; va += PAGE_SIZE, m++)
-			if (pte1_is_dirty(opte1))
-				vm_page_dirty(m);
+			vm_page_dirty(m);
 	}
 	if ((prot & VM_PROT_WRITE) == 0)
 		npte1 |= PTE1_RO | PTE1_NM;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702192040.v1JKe7d6080995>