qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: libvir-list@redhat.com, Jan Kiszka <jan.kiszka@web.de>,
	qemu-devel@nongnu.org, Hollis Blanchard <hollisb@us.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 1/6] Allow multiple monitor devices (v2)
Date: Thu, 09 Apr 2009 17:03:46 +0300	[thread overview]
Message-ID: <49DE0042.9050103@redhat.com> (raw)
In-Reply-To: <49DDFC5C.4080504@us.ibm.com>

Anthony Liguori wrote:
> Avi Kivity wrote:
>>  hotplug disk
>>  -ENOSPC on disk
>>
>> It's true that events don't correlate directly to commands, but they 
>> do correlate to the state of the system and that is affected by 
>> commands.
>
> events are time stamped.  In non-human mode, I think command responses 
> should be time stamped too so that a management tool knows when the 
> event was generated and can correlate the system state to the 
> particular event.

Timestamping doesn't help since the command could have been delayed in 
the monitor socket.

Further, we're now so deep down the complexity spiral that it has now 
become the most complicated piece of code in the entire system.  Surely 
the best way to synchronize events is to keep them on one timeline?

>>>>   Sure, we'll need to make sure notifications don't mix with 
>>>> command responses, and that all commands are acked (the (qemu) 
>>>> prompt serves that purpose now), but it seems to me do be a lot 
>>>> easier for the management end.
>>>
>>> FWIW, you can have asynchronous completion of monitor commands.  See 
>>> migration as an example.  The (qemu) prompt is the ack that the 
>>> command is finished.  You can only have one async command per 
>>> monitor session which is why you need multiple monitors.
>>
>> Migration has the -d switch to be truly async (not to wait).  We need 
>> an async notifier to tell us migration has finished or failed.
>
> Multiplexing multiple monitor sessions AFAICT is going to require a 
> non-human mode.  But it's totally orthogonal to this patch set.  You 
> could implement it today if you wanted.

I don't want multiplexed monitor sessions, at all.  I want async 
notifications added to a single monitor session.  That too could be 
implemented today (as simple as a term_printf("notification: ...\n");

>>>
>>> If we had a non-human monitor mode, I think it would be fine to have 
>>> many monitors multiplexed over a single channel.  The internal 
>>> monitor abstraction doesn't change.
>>
>> I don't understand why we need to multiplex many monitors over one 
>> channel.  Let's keep one monitor, but with the ability to send 
>> notifications to the other end.
>
> I don't understand how you think it would be implemented.  Each 
> command is going to have a unique 'Monitor *' associated with it.  How 
> that ends up being displayed to the user/management tool is 
> irrelevant.  Right now, you can only have one 'Monitor *' active on a 
> single "channel" at a time.  This is mostly a matter of output 
> format.  I don't see how we can keep the monitor output consistent and 
> compatible as it stands today and still support multiple 'Monitor *'s 
> active in a single channel.
>

Again, I have no interest in multiple Monitor *s on the same channel.  
One is quite sufficient.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

  reply	other threads:[~2009-04-09 14:03 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-08 18:34 [Qemu-devel] [PATCH 1/6] Allow multiple monitor devices (v2) Anthony Liguori
2009-04-08 18:34 ` [Qemu-devel] [PATCH 2/6] Introduce monitor 'wait' command (v2) Anthony Liguori
2009-04-08 18:34   ` [Qemu-devel] [PATCH 3/6] Introduce wait filtering (v2) Anthony Liguori
2009-04-08 18:35     ` [Qemu-devel] [PATCH 4/6] Document new events (v2) Anthony Liguori
2009-04-08 18:35       ` [Qemu-devel] [PATCH 5/6] Implement vm-state notifications (v2) Anthony Liguori
2009-04-08 18:35         ` [Qemu-devel] [PATCH 6/6] Implement vnc-event " Anthony Liguori
2009-04-08 18:43   ` [Qemu-devel] Re: [PATCH 2/6] Introduce monitor 'wait' command (v2) Anthony Liguori
2009-04-08 19:01   ` [Qemu-devel] " Blue Swirl
2009-04-08 19:02     ` Anthony Liguori
2009-04-09 11:01   ` Avi Kivity
2009-04-09 13:40     ` Anthony Liguori
2009-04-09 13:58       ` Avi Kivity
2009-04-09 14:19         ` Jan Kiszka
2009-04-09  8:19 ` [Qemu-devel] [PATCH 1/6] Allow multiple monitor devices (v2) Avi Kivity
2009-04-09 13:28   ` Anthony Liguori
2009-04-09 13:40     ` Avi Kivity
2009-04-09 13:47       ` Anthony Liguori
2009-04-09 14:03         ` Avi Kivity [this message]
2009-04-09 14:13           ` Anthony Liguori
2009-04-09 14:28             ` Avi Kivity
2009-04-09 14:30               ` Anthony Liguori
2009-04-09 14:37                 ` Avi Kivity
2009-04-09 14:57                   ` Anthony Liguori
2009-04-09 15:11                     ` Avi Kivity
2009-04-09 15:40                       ` Anthony Liguori
2009-04-09 15:57                         ` Avi Kivity
2009-04-09 16:09                           ` Anthony Liguori
2009-04-09 16:30                             ` Avi Kivity
2009-04-09 16:42                               ` Anthony Liguori
2009-04-09 17:00                                 ` Avi Kivity
2009-04-09 17:40                                   ` Anthony Liguori
2009-04-11 16:25                                     ` Avi Kivity
2009-04-11 20:18                                       ` Anthony Liguori
2009-04-11 21:14                                         ` Avi Kivity
2009-04-12 18:42                                           ` Jamie Lokier
2009-04-14  8:30                                             ` [libvirt] " Daniel P. Berrange
2009-04-14  9:15                                               ` Avi Kivity
2009-04-14  9:17                                                 ` Daniel P. Berrange
2009-04-14  9:29                                                   ` Jan Kiszka
2009-04-14  9:36                                                     ` Avi Kivity
2009-04-14  9:38                                                   ` Avi Kivity
2009-04-14 18:21                                                     ` Jamie Lokier
2009-04-14 18:19                                                 ` Jamie Lokier
2009-04-16  9:03                                                   ` Avi Kivity
2009-04-11 23:16                                       ` Zachary Amsden
2009-04-12  8:23                                         ` Zachary Amsden
2009-04-14  8:28                                           ` Gerd Hoffmann
2009-04-14 18:20                                             ` Jamie Lokier
2009-04-11 19:11                                 ` Avi Kivity
2009-04-11 21:47                                   ` Andreas Färber
2009-04-12 18:44                                     ` Jamie Lokier
2009-04-09 16:01                       ` Jamie Lokier
2009-04-09 14:15           ` [libvirt] " Gerd Hoffmann
2009-04-09 14:19             ` Avi Kivity
2009-04-09 14:56               ` Jan Kiszka
2009-04-09 15:15                 ` François Revol
2009-04-09 15:15                 ` Avi Kivity
2009-04-09 15:49                   ` Jan Kiszka
2009-04-09 16:01                     ` Avi Kivity
2009-04-09 16:07                   ` Jamie Lokier
2009-05-11 20:54 ` Hollis Blanchard
2009-05-11 21:51   ` Anthony Liguori
2009-05-12  8:48     ` Avi Kivity

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=49DE0042.9050103@redhat.com \
    --to=avi@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=hollisb@us.ibm.com \
    --cc=jan.kiszka@web.de \
    --cc=libvir-list@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).