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(a)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