mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Use qemuDomainRequiresMlock() in qemuBuildCommandLine()
This removes a duplication of the logic used to decide whether the memory locking limit should be set.
This commit is contained in:
parent
a6a5ac9650
commit
cf9bd25655
@ -9134,7 +9134,6 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||
int usbcontroller = 0;
|
||||
int actualSerials = 0;
|
||||
bool usblegacy = false;
|
||||
bool mlock = false;
|
||||
int contOrder[] = {
|
||||
/*
|
||||
* List of controller types that we add commandline args for,
|
||||
@ -9302,7 +9301,6 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||
virCommandAddArgFormat(cmd, "mlock=%s",
|
||||
def->mem.locked ? "on" : "off");
|
||||
}
|
||||
mlock = def->mem.locked;
|
||||
|
||||
virCommandAddArg(cmd, "-smp");
|
||||
if (!(smp = qemuBuildSmpArgStr(def, qemuCaps)))
|
||||
@ -10867,9 +10865,6 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||
"supported by this version of qemu"));
|
||||
goto error;
|
||||
}
|
||||
/* VFIO requires all of the guest's memory to be locked
|
||||
* resident */
|
||||
mlock = true;
|
||||
}
|
||||
|
||||
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
|
||||
@ -11096,7 +11091,9 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (mlock)
|
||||
/* In some situations, eg. VFIO passthrough, QEMU might need to lock a
|
||||
* significant amount of memory, so we need to set the limit accordingly */
|
||||
if (qemuDomainRequiresMlock(def))
|
||||
virCommandSetMaxMemLock(cmd, qemuDomainGetMlockLimitBytes(def));
|
||||
|
||||
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSG_TIMESTAMP) &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user