|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 00/12] libxl: fork: SIGCHLD flexibility
Ian Jackson wrote:
> libvirt reaps its children synchronously and has no central pid
> registry and no dispatch mechanism. libxl does have a pid registry so
> can provide a selective reaping facility, but that is not currently
> exposed. Here we expose it.
>
> Also, libvirt has multiple libxl ctxs. Prior to this series it is not
> possible for those to share SIGCHLD: libxl expects either the
> application, or _one_ libxl ctx, to own SIGCHLD. In the final patch
> of this series we relax this restriction by having libxl maintain a
> process-wide list of the libxl ctxs that are supposed to be interested
> in SIGCHLD.
>
> I have not tested the selective reaping functionality. The most
> plausible test environment for that is a suitably modified libvirt.
>
I've been testing this series (plus 1/3 in your "tools: Miscellanous
fixes for 4.4" series) on a suitably modified libvirt and the results
look good so far :).
I'm running four scripts concurrently that
- start / stop domA
- save / restore domB
- reboot domC
- get stats on dom{A,B,C}
They have been running for about an hour now, and I haven't noticed any
problems
Thanks!
Jim
> I have tested the new SIGCHLD plumbing, at least with a single ctx,
> since xl uses it. Testing that it works in a real multi-ctx
> application is again probably most easily done with libvirt.
>
> I hope that with this series applied, simply having libvirt pass
> libxl_sigchld_owner_libxl_always_selective_reap should be sufficient
> for everything to work. There is no need to specifically request the
> SIGCHLD-sharing.
>
> a 01/12] libxl: fork: Break out checked_waitpid
> a 02/12] libxl: fork: Break out childproc_reaped_ours
> a 03/12] libxl: fork: Clarify docs for libxl_sigchld_owner
> * 04/12] libxl: fork: Document libxl_sigchld_owner_libxl better
> a 05/12] libxl: fork: assert that chldmode is right
> a 06/12] libxl: fork: Provide libxl_childproc_sigchld_occurred
> +a 07/12] libxl: fork: Provide ..._always_selective_reap
> a 08/12] libxl: fork: Provide LIBXL_HAVE_SIGCHLD_SELECTIVE_REAP
> * 09/12] libxl: fork: Rename sigchld handler functions
> * 10/12] libxl: fork: Break out sigchld_installhandler_core
> * 11/12] libxl: fork: Break out sigchld_sethandler_raw
> * 12/12] libxl: fork: Share SIGCHLD handler amongst ctxs
>
> (a = acked; * = new patch; + = modified patch)
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |