crun: avoid forced CRIU debug logging for normal TClone requests - #16
Open
yiying-zhang wants to merge 70 commits into
Open
crun: avoid forced CRIU debug logging for normal TClone requests#16yiying-zhang wants to merge 70 commits into
yiying-zhang wants to merge 70 commits into
Conversation
Stabilize live tfork source freezing
…-main Stabilize single-copy tfork clone path
Rewrite tclone setup for Gensee Crate
Clarify Gensee tclone host setup
Initialize temporary CRIU process UIDs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
requests at full CRIU debug level;
CRIU_TFORK_LOG_LEVEL=0..4as an explicit diagnostic and exact-binarybenchmark override;
Why
The TClone-specific crun path unconditionally selected CRIU debug level 4.
CRIU formats and writes detailed task, VMA, parasite, cgroup, image, and
restore traces throughout the operation. The output grows almost linearly
with process count: about 1.66 MB / 24,114 lines at 100 processes and 3.30 MB /
47,825 lines at 200.
This is useful on demand, but it should not be synchronous work in every
normal production fork.
Performance
The exact same candidate binary was used for both arms. Only
CRIU_TFORK_LOG_LEVEL=4versus1changed; the independent Phase B siblingoptimization was forced off.
The median-fit slope falls from 6.402 to 5.286 ms/process, removing
1.116 ms/process. A combined test with eight-helper Phase B sibling creation
saved 195.529 ms at 100 processes and 420.795 ms at 200, showing that the two
changes are complementary.
Validation
sentinel, filesystem-isolation, and source-survival checks;
Operational note
Podman's custom TClone conmon launcher currently does not propagate generic
Podman
--runtime-flagvalues. UseCRIU_TFORK_LOG_LEVEL=4when full tracingis needed through that path. A separate pre-existing issue causes failed-clone
rollback to delete the bundle containing the detailed CRIU log after reporting
its path; this change does not alter rollback, but that diagnostic should be
copied to a stable error record before bundle deletion.