svn commit: r334398 - head/sys/i386/i386

Konstantin Belousov kib at FreeBSD.org
Wed May 30 20:26:48 UTC 2018


Author: kib
Date: Wed May 30 20:26:47 2018
New Revision: 334398
URL: https://svnweb.freebsd.org/changeset/base/334398

Log:
  Do use pmap_pte_quick() in pmap_enter_quick_locked().
  
  Benchmarked by:	bde
  Tested by:	pho
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/i386/i386/pmap.c

Modified: head/sys/i386/i386/pmap.c
==============================================================================
--- head/sys/i386/i386/pmap.c	Wed May 30 20:24:21 2018	(r334397)
+++ head/sys/i386/i386/pmap.c	Wed May 30 20:26:47 2018	(r334398)
@@ -3916,14 +3916,14 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
 		mpte = NULL;
 	}
 
-	/* XXXKIB: pmap_pte_quick() instead ? */
-	pte = pmap_pte(pmap, va);
+	sched_pin();
+	pte = pmap_pte_quick(pmap, va);
 	if (*pte) {
 		if (mpte != NULL) {
 			mpte->wire_count--;
 			mpte = NULL;
 		}
-		pmap_pte_release(pte);
+		sched_unpin();
 		return (mpte);
 	}
 
@@ -3941,7 +3941,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
 			
 			mpte = NULL;
 		}
-		pmap_pte_release(pte);
+		sched_unpin();
 		return (mpte);
 	}
 
@@ -3963,7 +3963,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
 		pte_store(pte, pa | PG_V | PG_U);
 	else
 		pte_store(pte, pa | PG_V | PG_U | PG_MANAGED);
-	pmap_pte_release(pte);
+	sched_unpin();
 	return (mpte);
 }
 


More information about the svn-src-head mailing list