[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: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH v2] Do not use slow [*] expansion for GPIO creation |
Date: |
Fri, 31 Jul 2015 13:26:32 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
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>
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|