[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 02/21] vfio: Convert to ram_block_discard_disable()
From: |
David Hildenbrand |
Subject: |
Re: [PATCH v4 02/21] vfio: Convert to ram_block_discard_disable() |
Date: |
Wed, 10 Jun 2020 16:13:38 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 |
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@redhat.com>
>> Cc: Alex Williamson <alex.williamson@redhat.com>
>> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
>> Cc: Tony Krowiak <akrowiak@linux.ibm.com>
>> Cc: Halil Pasic <pasic@linux.ibm.com>
>> Cc: Pierre Morel <pmorel@linux.ibm.com>
>> Cc: Eric Farman <farman@linux.ibm.com>
>> Signed-off-by: David Hildenbrand <david@redhat.com>
>
> See my two minor comments, other than that:
> Reviewed-by: Tony Krowiak <akrowiak@linux.ibm.com>
>
>> ---
>> 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
- [PATCH v4 00/21] virtio-mem: Paravirtualized memory hot(un)plug, David Hildenbrand, 2020/06/10
- [PATCH v4 01/21] exec: Introduce ram_block_discard_(disable|require)(), David Hildenbrand, 2020/06/10
- [PATCH v4 02/21] vfio: Convert to ram_block_discard_disable(), David Hildenbrand, 2020/06/10
- [PATCH v4 03/21] accel/kvm: Convert to ram_block_discard_disable(), David Hildenbrand, 2020/06/10
- [PATCH v4 04/21] s390x/pv: Convert to ram_block_discard_disable(), David Hildenbrand, 2020/06/10
- [PATCH v4 05/21] virtio-balloon: Rip out qemu_balloon_inhibit(), David Hildenbrand, 2020/06/10
- [PATCH v4 06/21] target/i386: sev: Use ram_block_discard_disable(), David Hildenbrand, 2020/06/10
- [PATCH v4 07/21] migration/rdma: Use ram_block_discard_disable(), David Hildenbrand, 2020/06/10
- [PATCH v4 08/21] migration/colo: Use ram_block_discard_disable(), David Hildenbrand, 2020/06/10