From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52229) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYf4K-0000Nf-Pn for qemu-devel@nongnu.org; Sun, 06 Sep 2015 14:53:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYf4H-0003mo-Ka for qemu-devel@nongnu.org; Sun, 06 Sep 2015 14:53:36 -0400 Received: from mx2.suse.de ([195.135.220.15]:39936) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYf4H-0003lk-EK for qemu-devel@nongnu.org; Sun, 06 Sep 2015 14:53:33 -0400 References: <02f101d0cb8b$b1ab9890$1502c9b0$@samsung.com> <20150731122631.GG2392@redhat.com> From: =?UTF-8?Q?Andreas_F=c3=a4rber?= Message-ID: <55EC8BA9.3030103@suse.de> Date: Sun, 6 Sep 2015 20:53:29 +0200 MIME-Version: 1.0 In-Reply-To: <20150731122631.GG2392@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2] Do not use slow [*] expansion for GPIO creation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" , Pavel Fedin Cc: 'Paolo Bonzini' , 'QEMU Developers' 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 u= sing >> trial and error strategy, starting every time from zero and retrying w= ith >> 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 int= errupt >> controller models. This flaw makes machine startup extremely slow >> (~20 seconds for ARM64 with 32 CPUs. This patch decreases this time do= wn to >> ~10 seconds. >> >> Also in qdev_init_gpio_out_named() memset() is now called only once fo= r the >> whole array instead of per-cell cleaning >> >> Signed-off-by: Pavel Fedin >> --- >> hw/core/qdev.c | 21 +++++++++++++++------ >> 1 file changed, 15 insertions(+), 6 deletions(-) >=20 > Reviewed-by: Daniel P. Berrange Thanks, queued on qom-next now: https://github.com/afaerber/qemu-cpu/commits/qom-next Regards, Andreas --=20 SUSE Linux GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Felix Imend=C3=B6rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N= =C3=BCrnberg)