From: Jamie Lokier <jamie@shareable.org>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: armbru@redhat.com, aliguori@us.ibm.com, qemu-devel@nongnu.org,
Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] Re: Two QMP events issues
Date: Tue, 9 Feb 2010 19:24:35 +0000 [thread overview]
Message-ID: <20100209192435.GB946@shareable.org> (raw)
In-Reply-To: <20100208141218.GG17328@redhat.com>
Daniel P. Berrange wrote:
> For further backgrou, the key end goal here is that in a QMP client, upon
> receipt of the 'RESET' event, we need to reliably & immediately determine
> why it occurred. eg, triggered by watchdog, or by guest OS request. There
> are actually 3 possible sequences
>
> - WATCHDOG + action=reset, followed by RESET. Assuming no intervening
> event can occurr, the client can merely record 'WATCHDOG' and interpret
> it when it gets the immediately following 'RESET' event
WATCHDOG is useful in it's own right. For example, a manager may
decide itself what action to take - such as resetting on the first
three watchdog triggers and then stopping the vm without reset - so
there wouldn't be any other event from qemu about the watchdog.
Because WATCHDOG is useful in some circumstances, I think for
consistency it should always be emitted.
> - RESET, followed by WATCHDOG + action=reset. The client doesn't know
> the reason for the RESET and can't wait arbitrarily for WATCHDOG since
> there might never be one arriving.
Bad. Avoid :-)
Actually, if there is a problem maintaining event order, this would be
ok as long as RESET includes the reason - then the listener knows to
wait for the WATCHDOG event.
> - RESET + source=watchdog. Client directly sees the reason
I think this is good, but it should be preceded by the WATCHDOG event as all.
So:
WATCHDOG action=reset
RESET reason=watchdog
By the way, if a listener attaches to qemu in the middle of this
operation, is it possible for it to receive one event but not the
other due to timing?
It might make sense to add the concept of "group of events" if this
could be a problem.
> The second scenario is the one I'd like us to avoid at all costs, since it
> will require the client to introduce arbitrary delays in processing events
> to determine cause. The first is slightly inconvenient, but doable if we
> can assume no intervening events will occur, between WATCHDOG and the
> RESET events. The last is obviously simplest for the clients.
The last isn't simple for clients that want to know when the watchdog
triggers, independent of reason. They would have to look for
different kinds of events, depending on how the watchdog is configured.
And, perhaps more importantly, they wouldn't work if more
action-options were added to the watchdog device.
-- Jamie
next prev parent reply other threads:[~2010-02-09 19:25 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-08 13:41 [Qemu-devel] Two QMP events issues Luiz Capitulino
2010-02-08 14:12 ` [Qemu-devel] " Daniel P. Berrange
2010-02-08 14:49 ` Anthony Liguori
2010-02-08 14:56 ` Daniel P. Berrange
2010-02-08 15:13 ` Anthony Liguori
2010-02-08 18:25 ` Luiz Capitulino
2010-02-08 19:14 ` Anthony Liguori
2010-02-08 19:59 ` Luiz Capitulino
2010-02-08 20:22 ` Anthony Liguori
2010-02-08 18:19 ` Luiz Capitulino
2010-02-09 19:24 ` Jamie Lokier [this message]
2010-02-09 19:32 ` Jamie Lokier
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=20100209192435.GB946@shareable.org \
--to=jamie@shareable.org \
--cc=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=lcapitulino@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).