[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: Documentation about the domain configuration on disk
Anthony PERARD writes ("Re: [PATCH] libxl: Documentation about the domain configuration on disk"): > I think there is already a race, and `xl destroy` can leak QEMU. I've > called `xl create` with a sleep before spawn_local_dm, and during the > sleep, I call `xl destroy` with a sleep after it had an oportunity to > kill QEMU. So we have: > > 1 domain creation xc_domain_create > 2 domain destruction doesn't kill qemu, it's not there yet. > 3 domain creation spawn qemu > 4 domain creation creates libxl-json I think the ordering of 3 vs 4 is a violation of my `thing' rules. This has gone unnoticed because we haven't been treating qemu itself as a `thing'. If we did treat qemu itself as a Thing, it would be necessary to hold the libxl-json lock while forking it. But fork is slow. > > Maybe qemu's existence is `primary non-qmp state' and in fact domain > > destruction is not allowed to destroy it without holding the > > libxl-json lock. But I bet that rule is not honoured right now. > > I think it's fine for domain destruction to kill QEMU without any lock. > Any threads communicating via QMP should receive an error. If qemu's existence is `primary qmp state' then the rules in my other mail imply holding the qmp lock for it while spawning it. I think that would be doable ? > > Comments, anyone ? > > That slow lock idea looks fine otherwise, we could call it > "libxl-qmp-lock" for now and have it mandatory when adding/removing > things via QMP. If a slow lock is needed for other thing than QMP, we > can change the meaning. I don't mind calling it the `libxl qmp lock' in code or documentation, but the actual filename needs to not to be `libxl-qmp-lock' because we cannot easily change it later. And there would be obvious advantages to making the name the same everywhere. Anyway, I hope the above observations make sense to you. Let me know what you think. 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 |