MCPcopy Create free account
hub / github.com/F-Stack/f-stack / pmap_try_insert_pv_entry

Function pmap_try_insert_pv_entry

freebsd/i386/i386/pmap.c:2728–2742  ·  view source on GitHub ↗

* Conditionally create a pv entry. */

Source from the content-addressed store, hash-verified

2726 * Conditionally create a pv entry.
2727 */
2728static boolean_t
2729pmap_try_insert_pv_entry(pmap_t pmap, vm_offset_t va, vm_page_t m)
2730{
2731 pv_entry_t pv;
2732
2733 rw_assert(&pvh_global_lock, RA_WLOCKED);
2734 PMAP_LOCK_ASSERT(pmap, MA_OWNED);
2735 if (pv_entry_count < pv_entry_high_water &&
2736 (pv = get_pv_entry(pmap, TRUE)) != NULL) {
2737 pv->pv_va = va;
2738 TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_next);
2739 return (TRUE);
2740 } else
2741 return (FALSE);
2742}
2743
2744/*
2745 * Create the pv entries for each of the pages within a superpage.

Callers 2

pmap_enter_quick_lockedFunction · 0.70
__CONCAT(PMTYPE, copy)Function · 0.70

Calls 1

get_pv_entryFunction · 0.70

Tested by

no test coverage detected