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:
parent
865c966fd7
commit
8f1ee302b6
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user