if ((ret = virDomainNumaGetMemorySize(def->numa)) > 0) {
return ret;
} else {
- ret = def->mem.max_balloon;
+ ret = def->mem.total_memory;
for (i = 0; i < def->nmems; i++)
ret -= def->mems[i]->size;
}
- return def->mem.max_balloon;
+ return def->mem.total_memory;
}
/**
- * virDomainDefSetMemoryInitial:
+ * virDomainDefSetMemoryTotal:
* @def: domain definition
* @size: size to set
*
- * Sets the initial memory size in @def.
+ * Sets the total memory size in @def.
*/
void
-virDomainDefSetMemoryInitial(virDomainDefPtr def,
- unsigned long long size)
+virDomainDefSetMemoryTotal(virDomainDefPtr def,
+ unsigned long long size)
{
- def->mem.max_balloon = size;
+ def->mem.total_memory = size;
}
for (i = 0; i < def->nmems; i++)
ret += def->mems[i]->size;
} else {
- ret = def->mem.max_balloon;
+ ret = def->mem.total_memory;
}
return ret;
/* Extract domain memory */
if (virDomainParseMemory("./memory[1]", NULL, ctxt,
- &def->mem.max_balloon, false, true) < 0)
+ &def->mem.total_memory, false, true) < 0)
goto error;
if (virDomainParseMemory("./currentMemory[1]", NULL, ctxt,
typedef virDomainMemtune *virDomainMemtunePtr;
struct _virDomainMemtune {
- unsigned long long max_balloon; /* in kibibytes, capped at ulong thanks
- to virDomainGetMaxMemory */
+ /* total memory size including memory modules in kibibytes, this field
+ * should be accessed only via accessors */
+ unsigned long long total_memory;
unsigned long long cur_balloon; /* in kibibytes, capped at ulong thanks
to virDomainGetInfo */
};
unsigned long long virDomainDefGetMemoryInitial(virDomainDefPtr def);
-void virDomainDefSetMemoryInitial(virDomainDefPtr def, unsigned long long size);
+void virDomainDefSetMemoryTotal(virDomainDefPtr def, unsigned long long size);
unsigned long long virDomainDefGetMemoryActual(virDomainDefPtr def);
bool virDomainDefHasMemoryHotplug(const virDomainDef *def);
if (VIR_STRDUP(def->description, virtualSystemSettingData->data->Notes) < 0)
goto cleanup;
- virDomainDefSetMemoryInitial(def, memorySettingData->data->Limit * 1024); /* megabyte to kilobyte */
+ virDomainDefSetMemoryTotal(def, memorySettingData->data->Limit * 1024); /* megabyte to kilobyte */
def->mem.cur_balloon = memorySettingData->data->VirtualQuantity * 1024; /* megabyte to kilobyte */
def->vcpus = processorSettingData->data->VirtualQuantity;
virDomainDefParseNode;
virDomainDefParseString;
virDomainDefPostParse;
-virDomainDefSetMemoryInitial;
+virDomainDefSetMemoryTotal;
virDomainDeleteConfig;
virDomainDeviceAddressIsValid;
virDomainDeviceAddressTypeToString;
vm->def->vcpus = d_info.vcpu_online;
vm->def->maxvcpus = d_info.vcpu_max_id + 1;
vm->def->mem.cur_balloon = d_info.current_memkb;
- virDomainDefSetMemoryInitial(vm->def, d_info.max_memkb);
+ virDomainDefSetMemoryTotal(vm->def, d_info.max_memkb);
ret = 0;
if (flags & VIR_DOMAIN_MEM_CONFIG) {
/* Help clang 2.8 decipher the logic flow. */
sa_assert(persistentDef);
- virDomainDefSetMemoryInitial(persistentDef, newmem);
+ virDomainDefSetMemoryTotal(persistentDef, newmem);
if (persistentDef->mem.cur_balloon > newmem)
persistentDef->mem.cur_balloon = newmem;
ret = virDomainSaveConfig(cfg->configDir, persistentDef);
}
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- virDomainDefSetMemoryInitial(persistentDef, newmem);
+ virDomainDefSetMemoryTotal(persistentDef, newmem);
if (persistentDef->mem.cur_balloon > newmem)
persistentDef->mem.cur_balloon = newmem;
if (virDomainSaveConfig(cfg->configDir, persistentDef) < 0)
if (lxcConvertSize(value->str, &size) < 0)
return -1;
size = size / 1024;
- virDomainDefSetMemoryInitial(def, size);
+ virDomainDefSetMemoryTotal(def, size);
def->mem.hard_limit = virMemoryLimitTruncate(size);
}
}
vmdef->id = -1;
- virDomainDefSetMemoryInitial(vmdef, 64 * 1024);
+ virDomainDefSetMemoryTotal(vmdef, 64 * 1024);
vmdef->onReboot = VIR_DOMAIN_LIFECYCLE_RESTART;
vmdef->onCrash = VIR_DOMAIN_LIFECYCLE_CRASH_DESTROY;
goto err;
}
- virDomainDefSetMemoryInitial(&def, memory);
+ virDomainDefSetMemoryTotal(&def, memory);
if ((def.mem.cur_balloon =
phypGetLparMem(dom->conn, managed_system, dom->id, 1)) == 0) {
def->id = -1;
def->mem.cur_balloon = 64 * 1024;
- virDomainDefSetMemoryInitial(def, def->mem.cur_balloon);
+ virDomainDefSetMemoryTotal(def, def->mem.cur_balloon);
def->maxvcpus = 1;
def->vcpus = 1;
def->clock.offset = VIR_DOMAIN_CLOCK_OFFSET_UTC;
_("cannot parse memory level '%s'"), val);
goto error;
}
- virDomainDefSetMemoryInitial(def, mem * 1024);
+ virDomainDefSetMemoryTotal(def, mem * 1024);
def->mem.cur_balloon = mem * 1024;
} else if (STREQ(arg, "-smp")) {
WANT_VALUE();
/* align initial memory size */
mem = virDomainDefGetMemoryInitial(def);
- virDomainDefSetMemoryInitial(def, VIR_ROUND_UP(mem, align));
+ virDomainDefSetMemoryTotal(def, VIR_ROUND_UP(mem, align));
def->mem.max_memory = VIR_ROUND_UP(def->mem.max_memory, align);
goto endjob;
}
- virDomainDefSetMemoryInitial(persistentDef, newmem);
+ virDomainDefSetMemoryTotal(persistentDef, newmem);
if (persistentDef->mem.cur_balloon > newmem)
persistentDef->mem.cur_balloon = newmem;
return -1;
/* XXX validate not over host memory wrt to other domains */
- virDomainDefSetMemoryInitial(privdom->def, memory);
+ virDomainDefSetMemoryTotal(privdom->def, memory);
virDomainObjEndAPI(&privdom);
return 0;
goto cleanup;
}
- virDomainDefSetMemoryInitial(vm->def, newmax);
+ virDomainDefSetMemoryTotal(vm->def, newmax);
ret = 0;
cleanup:
* reading and while dumping xml
*/
/* def->mem.max_balloon = maxMemorySize * 1024; */
- virDomainDefSetMemoryInitial(def, memorySize * 1024);
+ virDomainDefSetMemoryTotal(def, memorySize * 1024);
gVBoxAPI.UIMachine.GetCPUCount(machine, &CPUCount);
def->maxvcpus = def->vcpus = CPUCount;
* the notation here seems to be inconsistent while
* reading and while dumping xml
*/
- virDomainDefSetMemoryInitial(def->dom, memorySize * 1024);
+ virDomainDefSetMemoryTotal(def->dom, memorySize * 1024);
def->dom->os.type = VIR_DOMAIN_OSTYPE_HVM;
def->dom->os.arch = virArchFromHost();
gVBoxAPI.UIMachine.GetCPUCount(machine, &CPUCount);
goto cleanup;
}
- virDomainDefSetMemoryInitial(def, memsize * 1024); /* Scale from megabytes to kilobytes */
+ virDomainDefSetMemoryTotal(def, memsize * 1024); /* Scale from megabytes to kilobytes */
/* vmx:sched.mem.max -> def:mem.cur_balloon */
if (virVMXGetConfigLong(conf, "sched.mem.max", &sched_mem_max, memsize,
/* get RAM parameters */
pret = PrlVmCfg_GetRamSize(sdkdom, &ram);
prlsdkCheckRetGoto(pret, error);
- virDomainDefSetMemoryInitial(def, ram << 10); /* RAM size obtained in Mbytes,
+ virDomainDefSetMemoryTotal(def, ram << 10); /* RAM size obtained in Mbytes,
convert to Kbytes */
def->mem.cur_balloon = ram << 10;
if (entry->def->mem.cur_balloon > memory)
entry->def->mem.cur_balloon = memory;
- virDomainDefSetMemoryInitial(entry->def, memory);
+ virDomainDefSetMemoryTotal(entry->def, memory);
/* If this fails, should we try to undo our changes to the
* in-memory representation of the config file. I say not!
*/
VIR_FREE(val);
}
memory = xenapiDomainGetMaxMemory(dom);
- virDomainDefSetMemoryInitial(defPtr, memory);
+ virDomainDefSetMemoryTotal(defPtr, memory);
if (xen_vm_get_memory_dynamic_max(session, &dynamic_mem, vm)) {
defPtr->mem.cur_balloon = (unsigned long) (dynamic_mem / 1024);
} else {
return -1;
def->mem.cur_balloon *= 1024;
- virDomainDefSetMemoryInitial(def, memory * 1024);
+ virDomainDefSetMemoryTotal(def, memory * 1024);
return 0;
}
}
}
- virDomainDefSetMemoryInitial(def, (sexpr_u64(root, "domain/maxmem") << 10));
+ virDomainDefSetMemoryTotal(def, (sexpr_u64(root, "domain/maxmem") << 10));
def->mem.cur_balloon = (sexpr_u64(root, "domain/memory") << 10);
if (def->mem.cur_balloon > virDomainDefGetMemoryActual(def))