[libvirt] [PATCH 5/6] qemu: Reduce memlock limit after detaching hostdev

John Ferlan jferlan at redhat.com
Wed Dec 9 20:15:54 UTC 2015



On 11/24/2015 08:56 AM, Andrea Bolognani wrote:
> We increase the limit before plugging in a PCI hostdev or a memory
> module because some memory might need to be locked due to eg. VFIO.
> 
> Of course we should do the opposite after unplugging a device: this
> was already the case for memory modules, but not for hostdevs.
> ---
>  src/qemu/qemu_hotplug.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
> index a5c134a..04baeff 100644
> --- a/src/qemu/qemu_hotplug.c
> +++ b/src/qemu/qemu_hotplug.c
> @@ -3070,6 +3070,12 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver,
>          networkReleaseActualDevice(vm->def, net);
>          virDomainNetDefFree(net);
>      }
> +
> +    /* QEMU might no longer need to lock as much memory, eg. we just detached
> +     * a VFIO device, so adjust the limit here */
> +    if (qemuDomainAdjustMaxMemLock(vm) < 0)
> +        VIR_WARN("Failed to adjust locked memory limit");
> +
>      ret = 0;
>  
>   cleanup:
> 


Since the add was in qemuDomainAttachHostPCIDevice, why is the remove
not in qemuDomainDetachHostPCIDevice?  Doing it here would mean it's
call for any host device removal - whether or not it was ever added.

John




More information about the libvir-list mailing list