[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] qemu-char: add -chardev exit-on-eof option
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] qemu-char: add -chardev exit-on-eof option |
Date: |
Tue, 29 Jul 2014 16:41:03 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 07/29/2014 12:12 AM, Markus Armbruster wrote:
>
>>> Libvirt probably won't use it for normal guests (we don't want to kill
>>> qemu just because the monitor disconnects), but does have the notion of
>>> an autodestroy guest where it might be useful (we WANT the guest to go
>>> away if libvirtd dies early). In fact, autodestroy guests are used
>>> during migration - we want to kill qemu on the destination side if
>>> libvirtd dies before the source side finishes sending the migration
>>> stream. But in that scenario, once migration succeeds, libvirt has to
>>> be able to convert an autodestroy guest back into a normal guest that no
>>> longer disappears when libvirtd does; would this be something that QMP
>>> can toggle the state of this attribute on the fly? Perhaps through qom-set?
>>
>> After migration completes, execution moves from source to target.
>> Wouldn't you want to switch off target auto-destruct together with that
>> move, atomically?
>
> Libvirt starts the destination with -S, and migration can't complete
> until libvirt resumes the destination CPUs with 'cont'. Libvirt's
> current timing of releasing auto-destruct is based on handshaking
> between source and destination; it occurs after source claims migration
> is done but before resuming CPUs on the destination, which satisfies the
> atomicity that you correctly observed to be necessary.
Makes sense, thanks.
>>> However, we also have precedence of actions in QAPI that are very
>>> unlikely to be used outside of qtest, but which are not marked
>>> experimental; for example, the 'Abort' action in 'transaction' will
>>> probably never be used by libvirt
>>
>> Arguably not a conscious decision to make it ABI forever, more a case of
>> nobody thought about *not* making it ABI :)
>
> Added in June 2013; and we *did* have a discussion on whether to hide
> the transaction name at the time...
> https://lists.gnu.org/archive/html/qemu-devel/2013-06/msg03281.html
I stand corrected.
>> I don't really mind this instance, but I'm a bit concerned about rank
>> ABI growth.
>
> And that's a good position to maintain - it's always good to justify new
> knobs, especially since once they are ABI, it's harder to refactor
> around them.
Exactly.
[Qemu-devel] [PATCH 3/3] libqtest: use -chardev exit-on-eof to clean up QEMU, Stefan Hajnoczi, 2014/07/24