qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] Do not use slow [*] expansion for GPIO creat


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v2] Do not use slow [*] expansion for GPIO creation
Date: Sun, 6 Sep 2015 20:53:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

Am 31.07.2015 um 14:26 schrieb Daniel P. Berrange:
> On Fri, Jul 31, 2015 at 03:23:22PM +0300, Pavel Fedin wrote:
>> Expansion of [*] suffix is very slow because index expansion is done using
>> trial and error strategy, starting every time from zero and retrying with
>> the next index until insertion succeeds. With large number of already added
>> properties this process takes huge amount of time (O(n^2) complexity).
>>
>> Some architectures (like ARM) use very large amount of IRQ pins in interrupt
>> controller models. This flaw makes machine startup extremely slow
>> (~20 seconds for ARM64 with 32 CPUs. This patch decreases this time down to
>> ~10 seconds.
>>
>> Also in qdev_init_gpio_out_named() memset() is now called only once for the
>> whole array instead of per-cell cleaning
>>
>> Signed-off-by: Pavel Fedin <address@hidden>
>> ---
>>  hw/core/qdev.c | 21 +++++++++++++++------
>>  1 file changed, 15 insertions(+), 6 deletions(-)
> 
> Reviewed-by: Daniel P. Berrange <address@hidden>

Thanks, queued on qom-next now:
https://github.com/afaerber/qemu-cpu/commits/qom-next

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]