Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

seize: enable support for frozen containers #2514

Commits on Nov 8, 2024

  1. 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: checkpoint-restore#2508
    
    Signed-off-by: Radostin Stoyanov <[email protected]>
    rst0git committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    c204cf2 View commit details
    Browse the repository at this point in the history
  2. ci: test interrupt-only mode with frozen cgroup

    Signed-off-by: Radostin Stoyanov <[email protected]>
    rst0git committed Nov 8, 2024
    Configuration menu
    Copy the full SHA
    495e39e View commit details
    Browse the repository at this point in the history