[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Cancelling asynchronous operations in libxl
Dave Scott writes ("Cancelling asynchronous operations in libxl"): > Iâve re-read the thread from Nov 2013: (2013!) > http://lists.xen.org/archives/html/xen-devel/2013-11/msg01176.html > and found it quite thought-provoking. Thanks. However, I think the message you really want is From: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> To: <xen-devel@xxxxxxxxxxxxxxxxxxx> CC: Ian Campbell <ian.campbell@xxxxxxxxxx> Subject: [RFC PATCH 00/14] libxl: Asynchronous event cancellation Date: Fri, 20 Dec 2013 18:45:38 +0000 and the subsequent thread, which I can't find in the lists.xenproject.org archives but I did find for example here: http://osdir.com/ml/xen-development/2013-12/msg00472.html Getting the patch series out of the archive there will be a PITA so I have pushed it to my repo on xenbits: git://xenbits.xen.org/people/iwj/xen.git base.ao-cancel.v1-2013-12..wip.ao-cancel.v1-2013-12 What I need to know, really, is: * Is an API along these lines going to meet your needs ? * Can you help me test it ? Trying to test this in xl is going to be awkward and involve a lot of extraneous and very complicated signal handling; and AFAIAA libvirt doesn't have any cancellation facility. So if your libxl callers can exercise this cancellation functionality then that would be much easier. * Any further comments (eg, re timescales etc). > From the Xapi/Xenopsd point of view, the main feature that weâd like > is to be able to âunstickâ the system when it appears stuck. When > the user gets bored and hits the big red âcancelâ button weâd like > the particular operation/thread/call to unblock (in a timely > fashion, itâs probably ok if this takes 30s?) and for the system to > be left in some kind of manageable state. I think itâs ok for > Xapi/Xenopsd to destroy any half-built VMs via fresh libxl calls > afterwards, so libxl doesnât need to tidy everything itself > automatically. This is roughly what the cancellation system is supposed to do. > I think cancellation could be quite hard to test. One thing we could > do is add a counter and increment it every time we pass a point > where cancellation is possible. In some libxl debug mode we could > configure it to simulate a cancellation event when the counter > reaches a specific value. A test harness could then try to walk > through all the different cancellation possibilities and check the > system is in some sensible state afterwards. I think it might be possible to add something like that to my cancellation proposal. > We were thinking about running some number of libxl-based stateless > worker processes which would also allow us to kill them with various > signals if we really needed to. I guess in the event that libxl > cancel didnât work for whatever reason, we could fall back to this > rather cruder approach (although this should be only in extreme > circumstances). Just killing a process executing a libxl operation is likely to leave the system in an `ugly' state. libxl ought still to be able to deal with it, in principle, but I wouldn't be surprised to find bugs lurking in this kind of area. This ought to be a last resort. Thanks, Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |