From a68e0a73c36259315aebbbde2801a39cd562df0a 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 (cherry picked from commit c6adde2fca5b24a8fbb073ffb1358d44b0de5024) (cherry picked from commit a456c817d018281b4678480066add9baba3af16c) --- 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 a3bee0b94d..91153fd856 100644 --- a/src/vmm/LibVirtDriverKVM.cc +++ b/src/vmm/LibVirtDriverKVM.cc @@ -152,6 +152,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; @@ -163,9 +164,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()) {