Ping!!! Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia
> -----Original Message----- > From: qemu-devel-bounces+p.fedin=samsung....@nongnu.org [mailto:qemu-devel- > bounces+p.fedin=samsung....@nongnu.org] On Behalf Of Pavel Fedin > Sent: Tuesday, July 14, 2015 12:39 PM > To: qemu-devel@nongnu.org > Cc: Peter Crosthwaite; Andreas Färber > Subject: [Qemu-devel] [PATCH v4 0/2] QOM: object_property_add() performance > improvement > > The function originally behaves very badly when adding properties with "[*]" > suffix. Normally these are used for numbering IRQ pins. In order to find the > correct starting number the function started from zero and checked for > duplicates. This takes incredibly long time with large number of CPUs because > number of IRQ pins on some architectures (like ARM GICv3) gets multiplied by > number of CPUs. > > The solution is to add one more property which caches last used index so that > duplication check is not repeated thousands of times. Every time an array is > expanded the index is picked up from this cache. > > The modification decreases qemu startup time with 32 CPUs by a factor of 2 > (~10 sec vs ~20 sec). > > Pavel Fedin (2): > QOM: Introduce object_property_add_single() > QOM: object_property_add() performance improvement > > qom/object.c | 96 > +++++++++++++++++++++++++++++++++++++++++++----------------- > 1 file changed, 69 insertions(+), 27 deletions(-) > > -- > 1.9.5.msysgit.0