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

Function mp_realloc_pcpu

freebsd/amd64/amd64/mp_machdep.c:376–393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

374
375#ifdef NUMA
376static void
377mp_realloc_pcpu(int cpuid, int domain)
378{
379 vm_page_t m;
380 vm_offset_t oa, na;
381
382 oa = (vm_offset_t)&__pcpu[cpuid];
383 if (vm_phys_domain(pmap_kextract(oa)) == domain)
384 return;
385 m = vm_page_alloc_domain(NULL, 0, domain,
386 VM_ALLOC_NORMAL | VM_ALLOC_NOOBJ);
387 if (m == NULL)
388 return;
389 na = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
390 pagecopy((void *)oa, (void *)na);
391 pmap_qenter((vm_offset_t)&__pcpu[cpuid], &m, 1);
392 /* XXX old pcpu page leaked. */
393}
394#endif
395
396/*

Callers 1

native_start_all_apsFunction · 0.85

Calls 5

vm_phys_domainFunction · 0.85
vm_page_alloc_domainFunction · 0.85
pagecopyFunction · 0.85
pmap_kextractFunction · 0.70
pmap_qenterFunction · 0.70

Tested by

no test coverage detected