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

Function pmap_delayed_invl_page

freebsd/amd64/amd64/pmap.c:1170–1182  ·  view source on GitHub ↗

* Mark the page m's PV list as participating in the current thread's * DI block. Any threads concurrently using m's PV list to remove or * restrict all mappings to m will wait for the current thread's DI * block to complete before proceeding. * * The function works by setting the DI generation number for m's PV * list to at least the DI generation number of the current thread. * This force

Source from the content-addressed store, hash-verified

1168 * current thread calls pmap_delayed_invl_finish().
1169 */
1170static void
1171pmap_delayed_invl_page(vm_page_t m)
1172{
1173 u_long gen, *m_gen;
1174
1175 rw_assert(VM_PAGE_TO_PV_LIST_LOCK(m), RA_WLOCKED);
1176 gen = curthread->td_md.md_invl_gen.gen;
1177 if (gen == 0)
1178 return;
1179 m_gen = pmap_delayed_invl_genp(m);
1180 if (*m_gen < gen)
1181 *m_gen = gen;
1182}
1183
1184/*
1185 * Crashdump maps.

Callers 3

reclaim_pv_chunk_domainFunction · 0.85
pmap_remove_pdeFunction · 0.85
pmap_remove_pteFunction · 0.85

Calls 1

pmap_delayed_invl_genpFunction · 0.85

Tested by

no test coverage detected