Re: [PATCH v2 04/16] kvm: Return number of free memslots

David Hildenbrand
2023-09-06T14:38:24Z

On 06.09.23 16:14, David Hildenbrand wrote:
> On 29.08.23 00:26, Philippe Mathieu-Daudé wrote:
>> On 25/8/23 15:21, David Hildenbrand wrote:
>>> Let's return the number of free slots instead of only checking if there
>>> is a free slot. While at it, check all address spaces, which will also
>>> consider SMM under x86 correctly.
>>>
>>> Make the stub return UINT_MAX, such that we can call the function
>>> unconditionally.
>>>
>>> This is a preparation for memory devices that consume multiple memslots.
>>>
>>> Signed-off-by: David Hildenbrand <david@redhat.com>
>>> ---
>>> accel/kvm/kvm-all.c | 33 ++++++++++++++++++++-------------
>>> accel/stubs/kvm-stub.c | 4 ++--
>>> hw/mem/memory-device.c | 2 +-
>>> include/sysemu/kvm.h | 2 +-
>>> include/sysemu/kvm_int.h | 1 +
>>> 5 files changed, 25 insertions(+), 17 deletions(-)
>>
>>
>>> diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c
>>> index 235dc661bc..f39997d86e 100644
>>> --- a/accel/stubs/kvm-stub.c
>>> +++ b/accel/stubs/kvm-stub.c
>>> @@ -109,9 +109,9 @@ int kvm_irqchip_remove_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
>>> return -ENOSYS;
>>> }
>>>
>>> -bool kvm_has_free_slot(MachineState *ms)
>>> +unsigned int kvm_get_free_memslots(void)
>>> {
>>> - return false;
>>> + return UINT_MAX;
>>
>> Isn't it clearer returning 0 here and keeping kvm_enabled() below?
>
> I tried doing it similarly to vhost_has_free_slot().
>

I'll leave the kvm_enabled() check in place, looks cleaner.

--
Cheers,

David / dhildenb