Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/virt-hugepages-per-guest-numa-nodes.
The current huge Pages implementation build on top of NUMA takes advantage of memory placement to specify an amount of memory used on each NUMA nodes of guest.
This blueprint aim to improve that placement to make possible configuring different pagesize per guest NUMA nodes.
NUMA topologu will be enhanced with new attribute hw:numa_pagesize.N with N as an identify of guest NUMA node.
hw:numa_pagesize.0 = large
hw:numa_pagesize.1 = any
For a topology with several NUMA nodes it will be possible to set only page size of the desired node. Nodes without a specific page size will be considered to use default and smallest page size.
This example means that a guest will be configured with topology of 2 NUMA nodes and node identified 1 will have memory page size backed to large.
Specification URL (additional information):
Added the nova spec as reference.