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

Function pmap_invalidate_page

freebsd/amd64/amd64/pmap.c:3027–3041  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3025}
3026
3027void
3028pmap_invalidate_page(pmap_t pmap, vm_offset_t va)
3029{
3030 if (pmap_type_guest(pmap)) {
3031 pmap_invalidate_ept(pmap);
3032 return;
3033 }
3034
3035 KASSERT(pmap->pm_type == PT_X86,
3036 ("pmap_invalidate_page: invalid type %d", pmap->pm_type));
3037
3038 pmap_invalidate_preipi(pmap);
3039 smp_masked_invlpg(pmap_invalidate_cpu_mask(pmap), va, pmap,
3040 pmap_invalidate_page_curcpu_cb);
3041}
3042
3043/* 4k PTEs -- Chosen to exceed the total size of Broadwell L2 TLB */
3044#define PMAP_INVLPG_THRESHOLD (4 * 1024 * PAGE_SIZE)

Callers 15

pmap_invalidate_pde_pageFunction · 0.70
pmap_abort_ptpFunction · 0.70
pmap_allocpte_free_unrefFunction · 0.70
reclaim_pv_chunk_domainFunction · 0.70
pmap_demote_pde_lockedFunction · 0.70
pmap_remove_kernel_pdeFunction · 0.70
pmap_remove_pageFunction · 0.70
pmap_remove_allFunction · 0.70
pmap_protectFunction · 0.70
pmap_enterFunction · 0.70
pmap_remove_writeFunction · 0.70
pmap_ts_referencedFunction · 0.70

Calls 8

pmap_type_guestFunction · 0.85
pmap_invalidate_eptFunction · 0.85
pmap_invalidate_cpu_maskFunction · 0.85
invpcidFunction · 0.85
smp_masked_invlpgFunction · 0.70
invlpgFunction · 0.50
critical_enterFunction · 0.50
critical_exitFunction · 0.50

Tested by

no test coverage detected