[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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v2] Do not use slow [*] expansion for GPIO creation,
Andreas Färber <=