[CRIU] Does CRIU handle Futex system calls ?

Dorian Goepp goepp at i3s.unice.fr
Thu Jul 7 14:39:17 MSK 2022


Hi, 

Is this the right place to ask questions about CRIU's features and
internals? 

If so, I have been considering CRIU for dumping and restoring a process
with a set of threads synchronised through futexes [1]. It seems to
work, but, I cannot tell from the documentation (wiki) whether it is
officially supported, or just accidentally works for the cases I tested
it with. 

I could not find which parts would take care of the state of the
futex_wait system call in CRIU's source code, except maybe for
`get_task_regs()` in crui/compel/arch/x86/src/lib/infect.c (I run it on
an amd64 processor). This function issues the warning "Will restore %d
with interrupted system call" when I dump the futex-heavy process. Is it
enough to save the process's register state to resume the futex system
call correctly ? 

Best regards, 

Dorian Goepp 

Links:
------
[1] https://man7.org/linux/man-pages/man2/futex.2.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20220707/116d8dca/attachment.html>


More information about the CRIU mailing list