From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
ehabkost@redhat.com, philmd@redhat.com,
mark.cave-ayland@ilande.co.uk,
"Markus Armbruster" <armbru@redhat.com>,
qemu-devel@nongnu.org, "Greg Kurz" <groug@kaod.org>,
"Cédric Le Goater" <clg@kaod.org>,
pbonzini@redhat.com, "David Gibson" <dgibson@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: Slow down with: 'Make "info qom-tree" show children sorted'
Date: Wed, 08 Jul 2020 11:24:44 +0200 [thread overview]
Message-ID: <87tuyi2wbn.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20200707094006.GE2649462@redhat.com> ("Daniel P. Berrangé"'s message of "Tue, 7 Jul 2020 10:40:06 +0100")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Tue, Jul 07, 2020 at 06:45:57AM +0200, Thomas Huth wrote:
>> On 27/05/2020 10.47, Markus Armbruster wrote:
>> > "info qom-tree" prints children in unstable order. This is a pain
>> > when diffing output for different versions to find change. Print it
>> > sorted.
>> >
>> > Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> > ---
>> > qom/qom-hmp-cmds.c | 24 ++++++++++++++++--------
>> > 1 file changed, 16 insertions(+), 8 deletions(-)
>>
>> Hi Markus,
>>
>> this patch causes a slow down of the qtests which becomes quite massive
>> when e.g. using the ppc64 and thourough testing. When I'm running
>>
>> QTEST_QEMU_BINARY="ppc64-softmmu/qemu-system-ppc64" time \
>> ./tests/qtest/device-introspect-test -m slow | tail -n 10
>>
>> the test runs for ca. 6m40s here before the patch got applied, and for
>> mor than 20 minutes after the patch got applied!
>
> I think the test case itself could be optimized. Currently it does
> approx
>
> for each device type
> info qom-tree
> device_addr type,help
> info qom-tree
>
> it compares the before/after qom-tree to look for stray objects or
> to try to trigger crashes.
>
> The info qom-tree calls could be pushed outside the loop
>
> info qom-tree
> for each device type
> device_addr type,help
> info qom-tree
>
> Taking /x86_64/device/introspect/concrete/defaults/pc-q35-5.1 as a
> example, this change is the difference between 20 seconds running and
> 3 seconds running.
Patch?
> Reverting Markus' change actually didn't make much difference, only
> reducing the 20 seconds to 17 seconds.
I found and plugged a memory leak. I haven't checked its impact on test
performance.
> The downside is that if there is a stray object/crash, it would not
> immediately associate with the device type. I'm not sure that's a
> real problem though. Especially if we are running this as pre-merge
> CI we'll only need to look at the patch series to find the broken
> device. If this is quick enough that we can run it as standard,
> instead of only with -m slow, then its a net win I think.
Easier investigation of failures is a valid argument, but not at this
price. Our "make check" is painfully slow.
next prev parent reply other threads:[~2020-07-08 21:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-27 8:47 [PATCH 0/2] qom: Make "info qom-tree" show children sorted Markus Armbruster
2020-05-27 8:47 ` [PATCH 1/2] qom: Constify object_get_canonical_path{, _component}()'s parameter Markus Armbruster
2020-05-27 9:02 ` Cédric Le Goater
2020-05-27 9:49 ` [PATCH 1/2] qom: Constify object_get_canonical_path{,_component}()'s parameter Philippe Mathieu-Daudé
2020-05-27 8:47 ` [PATCH 2/2] qom: Make "info qom-tree" show children sorted Markus Armbruster
2020-05-27 9:04 ` Cédric Le Goater
2020-05-27 10:31 ` Philippe Mathieu-Daudé
2020-07-07 4:45 ` Slow down with: 'Make "info qom-tree" show children sorted' Thomas Huth
2020-07-07 4:58 ` Philippe Mathieu-Daudé
2020-07-07 5:33 ` Markus Armbruster
2020-07-07 8:00 ` Paolo Bonzini
2020-07-07 12:00 ` Markus Armbruster
2020-07-07 12:04 ` Daniel P. Berrangé
2020-07-13 1:13 ` David Gibson
2020-07-13 16:13 ` Markus Armbruster
2020-07-15 23:59 ` David Gibson
2020-07-16 5:37 ` Markus Armbruster
2020-07-17 6:00 ` David Gibson
2020-07-07 8:46 ` Daniel P. Berrangé
2020-07-07 9:06 ` Paolo Bonzini
2020-07-07 9:40 ` Daniel P. Berrangé
2020-07-07 9:49 ` Paolo Bonzini
2020-07-08 9:24 ` Markus Armbruster [this message]
2020-06-08 12:09 ` [PATCH 0/2] qom: Make "info qom-tree" show children sorted Mark Cave-Ayland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tuyi2wbn.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=clg@kaod.org \
--cc=dgibson@redhat.com \
--cc=ehabkost@redhat.com \
--cc=groug@kaod.org \
--cc=lvivier@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.