NUMA node-specifc memory allocation: Difference between revisions
From Xen
Jump to navigationJump to search
mNo edit summary |
mNo edit summary |
||
| Line 9: | Line 9: | ||
| content1 = __TOC__ |
| content1 = __TOC__ |
||
}} |
}} |
||
= NUMA node-specific memory allocation |
= NUMA node-specific memory allocation = |
||
== Entry point: <code>xenguest --mode hvm_build</code> == |
== Entry point: <code>xenguest --mode hvm_build</code> == |
||
<code>xenguest --mode hvm_build</code>: |
<code>xenguest --mode hvm_build</code>: |
||
Revision as of 15:10, 30 January 2025
NUMA node-specific memory allocation
Entry point: xenguest --mode hvm_build
xenguest --mode hvm_build:
It calls
do_hvm_build(),
which calls
stub_xc_hvm_build().
stub_xc_hvm_build()
It starts the HVM/PVH domain creation by filling out the fields of struct flags and struct xc_dom_image and calls hvm_build_setup_mem().
hvm_build_setup_mem()
- Gets
struct xc_dom_image *dom,max_mem_mib, andmax_start_mib. - Calculates start and size of most parts of the domain’s memory maps
- taking memory holes for I/O into account, e.g.
mmio_sizeandmmio_start.
- taking memory holes for I/O into account, e.g.
- It then uses those to calculate
lowmem_endandhighmem_end. - Finally, calls
xc_dom_boot_mem_init().
xc_dom_boot_mem_init()
In all cases, xc_dom_boot_mem_init() is called.
It calls the architecture-specific meminit hook for the domain type:
rc = dom->arch_hooks->meminit(dom);
