Ok, just to summarize this. It's 3 different problems:
1) nova-compute does not account for huge pages used by 3rd party applications and services running on the same compute node (e.g. vCIC)
^ patches above are backports from Newton, that add a new config option `reserved_huge_pages`, which can be used to specify the configuration of huge pages that are reserved and must not be used by VMs
2) nova-compute does not account for CPU pinnings done for 3rd party applications and services running on the same compute node (e.g. vCIC)
Config option `vcpu_pin_set` can be used in a similar manner to exclude a set of CPUs to be passed to VMs
^ both configuration options are "static" and won't help if vCIC allocates more huge pages at runtime, but that's *expected behavior* and a known limitation for now.
(not confirmed yet) 3) the exact cpuset is preserved on evacuation (or migration) instead of preserving the NUMA configuration
Ok, just to summarize this. It's 3 different problems:
1) nova-compute does not account for huge pages used by 3rd party applications and services running on the same compute node (e.g. vCIC)
^ patches above are backports from Newton, that add a new config option `reserved_ huge_pages` , which can be used to specify the configuration of huge pages that are reserved and must not be used by VMs
2) nova-compute does not account for CPU pinnings done for 3rd party applications and services running on the same compute node (e.g. vCIC)
Config option `vcpu_pin_set` can be used in a similar manner to exclude a set of CPUs to be passed to VMs
^ both configuration options are "static" and won't help if vCIC allocates more huge pages at runtime, but that's *expected behavior* and a known limitation for now.
(not confirmed yet) 3) the exact cpuset is preserved on evacuation (or migration) instead of preserving the NUMA configuration