From c6adde2fca5b24a8fbb073ffb1358d44b0de5024 Mon Sep 17 00:00:00 2001 From: Kristian Feldsam Date: Sat, 16 Dec 2023 14:26:36 +0100 Subject: [PATCH] F #6185: Support huge pages without CPU pinning Ensure that OpenNebula will: configure the VM with CPU affinity to the auto-selected NUMA node Signed-off-by: Kristian Feldsam --- src/vmm/LibVirtDriverKVM.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vmm/LibVirtDriverKVM.cc b/src/vmm/LibVirtDriverKVM.cc index e4c919ca622..9c731041163 100644 --- a/src/vmm/LibVirtDriverKVM.cc +++ b/src/vmm/LibVirtDriverKVM.cc @@ -174,6 +174,7 @@ static void pin_cpu(ofstream& file, std::string& emulator_cpus, unsigned int vcpu_id = 0; int affinity = -1; + unsigned int hpsz = 0; std::ostringstream oss; @@ -185,9 +186,10 @@ static void pin_cpu(ofstream& file, std::string& emulator_cpus, pp = HostShare::str_to_pin_policy(pp_s); topology->vector_value("NODE_AFFINITY", affinity); + topology->vector_value("HUGEPAGE_SIZE", hpsz); } - if ( pp == HostShare::PP_NONE && affinity == -1) + if ( pp == HostShare::PP_NONE && affinity == -1 && hpsz == 0) { if (!emulator_cpus.empty()) {