Do use pmap_pte_quick() in pmap_enter_quick_locked().

Benchmarked by:	bde
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
kib 2018-05-30 20:26:47 +00:00
parent 5c6152bf04
commit 7296417bee

View File

@ -3916,14 +3916,14 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
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, vm_page_t m,
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, vm_page_t m,
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);
}