1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-20 10:50:08 +03:00

F #3256: Fix resize with HUGEPAGES

This commit is contained in:
Ruben S. Montero 2019-07-04 00:20:28 +02:00
parent 865c966fd7
commit 8f1ee302b6
No known key found for this signature in database
GPG Key ID: A0CEA6FA880A1D87
4 changed files with 7 additions and 10 deletions

View File

@ -898,7 +898,7 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
hugepages = []
nodes.each do |node|
node['HUGEPAGE'].each do |hugepage|
[node['HUGEPAGE']].flatten.each do |hugepage|
h = {}
h['NODE_ID'] = node['NODE_ID']
h['HUGEPAGE'] = hugepage

View File

@ -1273,6 +1273,7 @@ int HostShareNUMA::make_topology(HostShareCapacity &sr, int vm_id, bool do_alloc
sr.topology->vector_value("SOCKETS", s_t);
sr.topology->vector_value("HUGEPAGE_SIZE", hpsz_kb);
hpsz_kb = hpsz_kb * 1024;
std::string policy = sr.topology->vector_value("PIN_POLICY");
HostShare::PinPolicy pp = HostShare::str_to_pin_policy(policy);
@ -1520,6 +1521,7 @@ void HostShareNUMA::del(HostShareCapacity &sr)
if ( sr.topology != 0 )
{
sr.topology->vector_value("HUGEPAGE_SIZE", hpsz_kb);
hpsz_kb = hpsz_kb * 1024;
}
for (auto it = sr.nodes.begin() ; it != sr.nodes.end(); ++it)

View File

@ -783,10 +783,8 @@ int VirtualMachine::parse_topology(Template * tmpl, std::string &error)
/* ---------------------------------------------------------------------- */
/* Set MEMORY, HUGEPAGE_SIZE, vCPU & update CPU for pinned VMS */
/* ---------------------------------------------------------------------- */
long long memory;
unsigned int vcpu = 0;
unsigned long int hpsz_mb = 0;
long long memory;
unsigned int vcpu = 0;
if (!tmpl->get("MEMORY", memory))
{
@ -805,11 +803,6 @@ int VirtualMachine::parse_topology(Template * tmpl, std::string &error)
tmpl->replace("CPU", vcpu);
}
if ( vtopol->vector_value("HUGEPAGE_SIZE", hpsz_mb) == 0 )
{
vtopol->replace("HUGEPAGE_SIZE", hpsz_mb * 1024);
}
/* ---------------------------------------------------------------------- */
/* Check topology for non pinned & pinned VMs */
/* - non-pinned VM needs to set SOCKETS, CORES and THREADS */

View File

@ -237,7 +237,9 @@ static void vtopol(ofstream& file, const VectorAttribute * topology,
topology->vector_value("SOCKETS", s);
topology->vector_value("CORES", c);
topology->vector_value("THREADS", t);
topology->vector_value("HUGEPAGE_SIZE", hpsz_kb);
hpsz_kb = hpsz_kb * 1024;
ma = topology->vector_value("MEMORY_ACCESS");