This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH][RFC] making "xm dump-core" paralell

Hi, John

>On Thu, Sep 27, 2007 at 05:36:23PM +0900, Rikiya Ayukawa wrote:
>> # Sorry, I mistook the function name on e-mail.
>> # xc_domain_dump() -> xc_domain_dumpcore()
>> > - Add xc_dumpcore program. This program only calls xc_domain_dump()
>> > >   in libxc to dump the core image of a domainU.
>> >   
>> >
>> > Why?
>> To make xend call indirectly xc_domain_dumpcore() written by C.
>> I think this is similar to xc_save and xc_restore programs.
>> xend (cset#15880:a00cc97b392a) calls xc_domain_dumpcore() directly.
>> It takes xend a lot of time to finish this C function.
>> Until the xend's thread finishes xc_domain_dumpcore(), any other xend's
>> thread
>> don't run because of GIL (global interpreter lock) in CPython specification.
>> http://docs.python.org/api/threads.html
>But if you're forking, why can't you do it in Python?
The child process of xend can call xc_domain_dumpcore,
but it is worse than execing the new dump command
because we must be careful about some more cases.

For example if we do not use exec(), at least, the child of xend
must unregister the xenwatch to dump a domU at the domU crashing time
because the child process of xend has the same functions of parent.
I think there are many other case that we must be careful
about multi process of xend.

xm save/restore also fork+exec. I think it's the same reason.
Is that right, Keir?

Best Regards,

Akio Takebe

Xen-devel mailing list