• L
    qemu: properly set MaxMemLock when hotplugging with VFIO · 6d867f72
    Laine Stump 提交于
    This resolves:
    
      https://bugzilla.redhat.com/show_bug.cgi?id=1035490
    
    virProcessSetMaxMemLock() (which is a wrapper over prlimit(3)) expects
    the memory size in bytes, but libvirt's domain definition (which was
    being used by qemuDomainAttachHostPciDevice()) stores all memory
    tuning parameters in KiB. This was being accounted for when setting
    MaxMemLock at domain startup time (so cold-plugged devices would
    work), but not for hotplug.
    
    This patch simplifies the few lines that call
    virProcessSetMemMaxLock(), and multiply the amount * 1024 so that
    we're locking the correct amount of memory.
    
    What remains a mystery to me is why hot-plug of a managed='no' device
    would succeed (at least on my system) while managed='yes' would
    fail. I guess in one case the memory was coincidentally already
    resident and in the other it wasn't.
    6d867f72
qemu_hotplug.c 125.5 KB