
On 08/26/2013 09:28 AM, Michal Privoznik wrote:
If there's no hard_limit set and domain uses VFIO we still must lock the guest memory (prerequisite from qemu). Hence, we should compute the amount to be locked from max_balloon.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_hotplug.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
@@ -1032,8 +1034,9 @@ int qemuDomainAttachHostPciDevice(virQEMUDriverPtr driver, * doesn't hurt to "change" the limit to the same value. */ vm->def->hostdevs[vm->def->nhostdevs++] = hostdev; - virProcessSetMaxMemLock(vm->pid, - vm->def->mem.hard_limit * 1024); + memKB = def->mem.hard_limit ? + def->mem.hard_limit : def->mem.max_balloon + 1024 * 1024;
If I'm reading this correctly, the idea is the max_balloon limit plus 1G extra, if there is no hard_limit. (If you intended differently, then you need more '()') ACK. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org