[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] memory-device: break the loop if no hint is
From: |
Wei Yang |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] memory-device: break the loop if no hint is provided |
Date: |
Mon, 29 Jul 2019 15:50:35 +0800 |
User-agent: |
Mutt/1.9.4 (2018-02-28) |
On Mon, Jul 29, 2019 at 09:45:24AM +0200, David Hildenbrand wrote:
>On 28.07.19 15:13, Wei Yang wrote:
>> When there is no hint, the first un-overlapped range is the proper one.
>> Just break the loop instead of iterate the whole list.
>>
>> Signed-off-by: Wei Yang <address@hidden>
>> ---
>> hw/mem/memory-device.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c
>> index df3261b32a..413b514586 100644
>> --- a/hw/mem/memory-device.c
>> +++ b/hw/mem/memory-device.c
>> @@ -180,6 +180,8 @@ static uint64_t memory_device_get_free_addr(MachineState
>> *ms,
>> range_make_empty(&new);
>> break;
>> }
>> + } else if (!hint) {
>> + break;
>> }
>> }
>>
>>
>
>I think
>
>a) This is fine. I was not able to construct a counter-example where
>this would not work. Whenever we modify the range, we check against the
>next one in the sorted list. If there is no overlap, it fits. And, it
>won't overlap with any other range (and therefore never be changed again)
>
>b) This should therefore not change the assignment order / break migration.
>
>Maybe mention that this will not change the assigned addresses compared
>to old code in all scenarios.
>
Thanks, let me add this in change log.
>Reviewed-by: David Hildenbrand <address@hidden>
>
>--
>
>Thanks,
>
>David / dhildenb
--
Wei Yang
Help you, Help me