[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain.
Marek Marczykowski-Górecki writes ("Re: [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain."): > All the xenconsoled stuff is unchanged (and unlikely to change), so it > should be safe to review it. Patches 06 and 07 also shouldn't change. Sorry, I missed this reply. I will go on to review those. > The thing that will change is qemu cmdline and qmp handling. TBH I'm not sure > if its better to touch qmp now, or after reworked qmp handling by > Anthony will be merged. There will definitely be some conflicts and it > may even affects what underlying mechanism is chosen for qmp transport. > Based on discussion here, and in libxl__ev_qmp_* thread, I see two > viable options: > > 1. libvchan > pros: > - out of band reset support, so qmp capabilities negotiation can be > handled gracefully > cons: > - more work, require patching qemu (or adding vchan->socket proxy), > adds dependency on libvchan to libxl (probably not a problem) > - possibly more complex libxl__ev_qmp_* handling, or at least needs > separate handling of send/receive for stubdomain case I think that the changes to libxl__ev_qmp_* will be relatively self-contained, particularly after Anthony's async rework. There's one place where the communication occurs. Does libvchan offer asynchronous connection (ie, connect/disconnect calls which cannot be stalled by the peer, but which instead allow poll/select-based async) ? I think it may not, in which case we need a vchan to socket proxy anyway. Aside from that the libxl dependency is untroublesome. > 2. pv console > pros: > - no qemu modifications > - same read()/write() on libxl side > cons: > - no out of band reset, needs libxl handling for that (skipping > negotiation) Doesn't this potentially mean that the qmp console connection can become irrecoverably desynchronised ? I don't know how you would recover from the situation where another libxl process had got halfway through some qmp stuff and been terminated (for whatever reason; maybe the calling toolstack crashed). > - possibly other problems from that (events filling up some buffers > when no one is listening?) xenconsole drops things in this situation. I think that may result in desynchronisation. > BTW Does libxl listed for qmp events? Not right now. It may want to in future. Anthony's qmp series discards events. > There is also third option: xenstore, but that would probably require > totally separate libxl__ev_qmp_* implementation, so I'd rule it out. That's not a terrible idea but I can't see it being popular with qemu upstream, so you'd end up writing a kind of bidirectional qmp<->xenstore proxy. Urgh. > If problems with pv console could be solved, I'd go this way. But > otherwise libvchan seems like a good alternative. Yes. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |