[CRIU] Signalling processes before CRIU/after unCRIU
Alex/AT
alex at alex-at.ru
Wed Oct 10 09:37:42 EDT 2012
It may have some sense to plan/discuss this mechanism a bit then. I assume
we have two category of processes:
1. Processes that know about CRIU
2. Processes that do not know about CRIU
On the first look, (1) category suspend may be processed as follows:
1. At the start of CRIU work, send "DO YOU KNOW ME? START SUSPEND" signal
to the process.
2. Getting "ROGER" response (a message passing or a callback mechanism
with sensible timeout may be implemented), we know that the process is in
category (1).
3. Then we wait for "COMPLETE" callback/response for a definite time (or
indefinite, specified on user behalf).
4. If "COMPLETE" is received, process is ready, and we suspend it. After
unsuspension, we send "WELCOME BACK" signal to the process, and do not
wait for any response.
5. If "COMPLETE" is not received in given time, we send "SORRY, OUTTA
HERE" signal to the process and abort, because the process has not
completed housekeeping properly. It may be nice to have user "force"
option here to suspend such processes in default way, without waiting for
completion of housekeeping, if the user knows what he/she is doing.
If we don't get "ROGER" response on the first request, we know the process
is in the (2) category, and then we may suspend it as is, without any
further signalling
--
Regards,
Alexey Asemov
More information about the CRIU
mailing list