[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 12/32] libxl: Design of an async API to issue QMP commands to QEMUç



On Fri, Aug 03, 2018 at 03:45:39PM +0100, Anthony PERARD wrote:
> On Fri, Aug 03, 2018 at 03:55:48PM +0200, Roger Pau Monné wrote:
> > On Fri, Aug 03, 2018 at 12:18:02PM +0100, Anthony PERARD wrote:
> > > On Thu, Aug 02, 2018 at 11:01:43AM +0200, Roger Pau Monné wrote:
> > > > On Fri, Jul 27, 2018 at 03:05:54PM +0100, Anthony PERARD wrote:
> > > > > +/*
> > > > > + * This facility allows a command to be sent to QEMU, and the 
> > > > > response to be
> > > > > + * handed to a callback function.  Each libxl__ev_qmp handles zero 
> > > > > or one
> > > > 
> > > > Do you really mean 'zero or one' or 'zero or more'?
> > > 
> > > It is zero or one. But I'm not sur that extra sentence is usefull.
> > > Initially, it was followed by "if multiple commands are to be sent
> > > concurrently, multiple libxl__ev_qmp's must be used."
> > > 
> > > But concurency between multiple libxl__ev_qmp isn't possible, the second
> > > libxl__ev_qmp created will have to wait until the first one is been
> > > disposed of. But sending multiple command can be done, by waiting for
> > > the first one to be done, then then the second one. This is why I have
> > > the paragraph about "commands can be chained".
> > 
> > Then maybe you want to add something along the lines:
> > 
> > "Multiple QMP commands can be queued in a single libxl__ev_qmp
> > instance, however they will be dispatched in a serialized fashion.
> > Note also that there can only be a single libxl__ev_qmp instance
> > active at a time."
> 
> That's not true, I don't think adding facilities to queue commands will
> be usefull, usually, one will need to wait for a response to the first
> command in order to prepare a second one. It is rare in libxl that
> several commands can be prepared and queued in advance. User of this API
> can do the queuing themself.
> 
> As for the single active instance of libxl__ev_qmp, that isn't true
> easier, several libxl__ev_qmp can be in the state "Active" at the same
> time. But only one can be in the "Connected" state at the same time (in
> relation to a single qemu) due to the way qemu handles QMP connections.

OK, I think you should remove that line (the zero or one...).
Hopefully the text in the "commands can be chained" part will already
make this clear.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.