criu/test
Radostin Stoyanov 4196268eef seize: enable support for frozen containers
Container runtimes like CRI-O and containerd utilize the freezer cgroup
to create a consistent snapshot of container root filesystem (rootfs)
changes. In this case, the container is frozen before invoking CRIU.
After CRIU successfully completes, a copy of the container rootfs diff
is saved, and the container is then unfrozen.

However, the `cuda-checkpoint` tool is not able to perform a 'lock'
action on frozen threads.  To support GPU checkpointing with these
container runtimes, we need to unfreeze the cgroup and return it to its
original state once the checkpointing is complete.

To reflect this new behavior, the following changes are applied:
 - `dont_use_freeze_cgroup(void)` -> `set_compel_interrupt_only_mode(void)`
 - `bool freeze_cgroup_disabled` -> `bool compel_interrupt_only_mode`
 - `check_freezer_cgroup(void)` -> `prepare_freezer_for_interrupt_only_mode(void)`

Note that when `compel_interrupt_only_mode` is set to `true`,
`compel_interrupt_task()` is used instead of `freeze_processes()`
to prevent tasks from running during `criu dump`.

Fixes: #2508

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2025-03-21 12:40:31 -07:00
..
compel Run 'make indent' on header files 2021-09-03 10:31:00 -07:00
cuda-checkpoint test/zdtm: allow to run tests with the mocked cuda-checkpoint tool 2024-09-11 16:02:11 -07:00
exhaustive make: remove checks for python 2 binary 2023-10-22 13:29:25 -07:00
inhfd make: remove checks for python 2 binary 2023-10-22 13:29:25 -07:00
javaTests test/javaTests: update org.testng:testng (Maven) 2023-04-15 21:17:21 -07:00
jenkins seize: enable support for frozen containers 2025-03-21 12:40:31 -07:00
libfault zdtm: add support for LD_PRELOAD tests 2024-09-11 16:02:11 -07:00
others codespell: fix typos 2024-09-19 15:23:42 -07:00
pki test: create new tls certificates 2021-09-03 10:31:00 -07:00
plugins zdtm: add inventory test plugins 2025-03-21 12:40:31 -07:00
zdtm zdtm: add riscv64 support 2025-03-21 12:40:31 -07:00
.gitignore zdtm: Add javaTests output to .gitignore 2021-09-03 10:31:00 -07:00
abrt.sh test/abrt: skip core dumps from the seccomp_filter test 2019-04-20 20:25:26 -07:00
check_actions.py make: remove checks for python 2 binary 2023-10-22 13:29:25 -07:00
crit-recode.py make: remove checks for python 2 binary 2023-10-22 13:29:25 -07:00
empty-netns-prep.sh test: don't use nsenter in tests 2017-05-19 09:17:20 +03:00
groups.desc zdtm.py: Generator of groups of tests 2015-12-08 14:54:41 +03:00
inhfd.desc zdtm.py: Add inhfd tests for --inherit-fd option 2015-10-19 12:42:01 +03:00
Makefile test/make: remove unused target 2024-09-11 16:02:11 -07:00
pycriu lib: use separate packages for pycriu and crit 2023-11-27 16:47:16 -08:00
show_action.sh test: Check action scripts to work as we expect 2016-05-06 14:39:25 +03:00
umount2.c zdtm: add a program to umount a test root 2016-09-26 15:42:40 +03:00
zdtm.desc test: Get rid of live directory 2016-02-20 13:40:52 +03:00
zdtm.py zdtm: add inventory test plugins 2025-03-21 12:40:31 -07:00
zdtm_ct.c zdtm: Update netns purpose comment in zdtm_ct. 2023-10-22 13:29:25 -07:00
zdtm_mount_cgroups zdtm: use unique holder for cgroups 2022-04-28 17:53:52 -07:00
zdtm_umount_cgroups zdtm: use unique holder for cgroups 2022-04-28 17:53:52 -07:00