From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, John Snow <jsnow@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>,
Markus Armbruster <armbru@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: proposal: deprecate -readconfig/-writeconfig
Date: Fri, 15 May 2020 07:44:30 +0200 [thread overview]
Message-ID: <87ftc1sqf5.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20200514155540.GN1280939@redhat.com> ("Daniel P. Berrangé"'s message of "Thu, 14 May 2020 16:55:40 +0100")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Thu, May 14, 2020 at 05:51:02PM +0200, Paolo Bonzini wrote:
>> On 14/05/20 17:34, Daniel P. Berrangé wrote:
>> > Yeah, the key thing is that you really want to be able to provide the
>> > whole initial config in one go as an atomic action. I don't want to
>> > issue 100 individual QMP commands to load each initial device.
>>
>> Why? I think if we do something like the qemu-vm-$TARGET that you
>> propose below, there's absolutely no difference between the two.
>
> Ok, I should clarify. I don't want to do 100 individual serialized
> round-trip request+reply, as that'd create latency on startup.
> 100 pipelined/parallelized request+reply would be ok, as you'll
> not have the synchronization delay for each command.
>
> Today the biggest cause of slow startup in libvirt, is issuing
> something like 100+ serialized QMP calls to check status of
> individual CPUID features. Possibly this is already just a libvirt
> bug we can could just stuff all 100 qom-get queries down the pipe
> in one go and have 1 wait for replies to arrive.
Hundreds of serialized QMP roundtrips are certainly bad.
Sending hundreds of QMP commands before reading any QMP output would
also be bad: it relies on QEMU to buffer the output. It does, but
unlimited buffering is bad, and you shouldn't rely on it to stay.
Instead, send your input as fast as QEMU accepts it (it *will* stop
reading if you send input faster than it can process it), and also
receive output as fast as you can, until you got it all.
[...]
next prev parent reply other threads:[~2020-05-15 5:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-14 8:09 proposal: deprecate -readconfig/-writeconfig Paolo Bonzini
2020-05-14 8:54 ` Gerd Hoffmann
2020-05-15 5:31 ` Markus Armbruster
2020-05-14 8:56 ` Daniel P. Berrangé
2020-05-14 12:37 ` Paolo Bonzini
2020-05-15 5:54 ` Markus Armbruster
2020-05-15 10:19 ` Paolo Bonzini
2020-05-14 14:40 ` John Snow
2020-05-14 15:34 ` Daniel P. Berrangé
2020-05-14 15:51 ` Paolo Bonzini
2020-05-14 15:55 ` Daniel P. Berrangé
2020-05-15 5:44 ` Markus Armbruster [this message]
2020-05-15 5:51 ` Markus Armbruster
2020-05-15 9:06 ` Gerd Hoffmann
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=87ftc1sqf5.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=jsnow@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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.