Re: [PATCH v4 02/21] vfio: Convert to ram_block_discard_disable()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10.06.20 15:04, Tony Krowiak wrote:
> 
> 
> On 6/10/20 7:54 AM, David Hildenbrand wrote:
>> VFIO is (except devices without a physical IOMMU or some mediated devices)
>> incompatible with discarding of RAM. The kernel will pin basically all VM
>> memory. Let's convert to ram_block_discard_disable(), which can now
>> fail, in contrast to qemu_balloon_inhibit().
>>
>> Leave "x-balloon-allowed" named as it is for now.
>>
>> Cc: Cornelia Huck <cohuck@xxxxxxxxxx>
>> Cc: Alex Williamson <alex.williamson@xxxxxxxxxx>
>> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx>
>> Cc: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>
>> Cc: Halil Pasic <pasic@xxxxxxxxxxxxx>
>> Cc: Pierre Morel <pmorel@xxxxxxxxxxxxx>
>> Cc: Eric Farman <farman@xxxxxxxxxxxxx>
>> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
> 
> See my two minor comments, other than that:
> Reviewed-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>
> 
>> ---
>>   hw/vfio/ap.c                  | 10 +++----
>>   hw/vfio/ccw.c                 | 11 ++++----
>>   hw/vfio/common.c              | 53 +++++++++++++++++++----------------
>>   hw/vfio/pci.c                 |  6 ++--
>>   include/hw/vfio/vfio-common.h |  4 +--
>>   5 files changed, 45 insertions(+), 39 deletions(-)
>>
>> diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c
>> index 95564c17ed..d0b1bc7581 100644
>> --- a/hw/vfio/ap.c
>> +++ b/hw/vfio/ap.c
>> @@ -105,12 +105,12 @@ static void vfio_ap_realize(DeviceState *dev, Error **errp)
>>       vapdev->vdev.dev = dev;
>>   
>>       /*
>> -     * vfio-ap devices operate in a way compatible with
>> -     * memory ballooning, as no pages are pinned in the host.
>> -     * This needs to be set before vfio_get_device() for vfio common to
>> -     * handle the balloon inhibitor.
>> +     * vfio-ap devices operate in a way compatible discarding of memory in
> 
> s/compatible discarding/compatible with discarding/?

Very right!

[...]
>> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
>> index 342dd6b912..c33c11b7e4 100644
>> --- a/hw/vfio/pci.c
>> +++ b/hw/vfio/pci.c
>> @@ -2796,7 +2796,7 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
>>       }
>>   
>>       /*
>> -     * Mediated devices *might* operate compatibly with memory ballooning, but
>> +     * Mediated devices *might* operate compatibly with discarding of RAM, but
>>        * we cannot know for certain, it depends on whether the mdev vendor driver
>>        * stays in sync with the active working set of the guest driver.  Prevent
>>        * the x-balloon-allowed option unless this is minimally an mdev device.
>> @@ -2809,7 +2809,7 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
>>   
>>       trace_vfio_mdev(vdev->vbasedev.name, is_mdev);
>>   
>> -    if (vdev->vbasedev.balloon_allowed && !is_mdev) {
>> +    if (vdev->vbasedev.ram_block_discard_allowed && !is_mdev) {
>>           error_setg(errp, "x-balloon-allowed only potentially compatible "
>>                      "with mdev devices");
> 
> Should this error message be changed?

I didn't rename the property ("x-balloon-allowed"), so the error message
is still correct.

Thanks!

-- 
Thanks,

David / dhildenb




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux