Skip to content

perf(tfork): replace pidfile polling with runtime readiness events- #14 - #10

Open
yiying-zhang wants to merge 66 commits into
mainfrom
perf/tfork-event-readiness-early-thaw
Open

perf(tfork): replace pidfile polling with runtime readiness events- #14#10
yiying-zhang wants to merge 66 commits into
mainfrom
perf/tfork-event-readiness-early-thaw

Conversation

@yiying-zhang

Copy link
Copy Markdown
Collaborator

Summary

  • add a CRIU tfork-source-detached notification;
  • forward readiness through crun to Podman using a file descriptor;
  • replace the 200-ms pidfile polling loop with event-driven readiness;
  • retain timeout, lost-event, and failure fallback behavior;
  • gate the new path with PODMAN_TFORK_EVENT_READINESS=1.

Performance

With source syncfs, socket-scan overlap, and an independent cgroup-freeze
monitor enabled in both arms:

Mode Wall median Mean p90
polling 0.840 s 0.769 s 0.860 s
events 0.655 s 0.654 s 0.670 s

The event path removes the quantized 200-ms tail. All 40 monitored and
unmonitored forks passed.

Source-pause finding

Measured source frozen time was effectively unchanged: 107.20 ms with polling
and 109.11 ms with events. CRIU already unfroze the inner source cgroup; the
later outer Podman thaw was redundant. This change improves child-ready wall
latency and makes readiness explicit, but it does not claim a source-pause
reduction on this stack.

yiying-zhang and others added 30 commits July 10, 2026 23:44
Stabilize live tfork source freezing
yiying-zhang and others added 30 commits July 18, 2026 10:08
…-main

Stabilize single-copy tfork clone path
Rewrite tclone setup for Gensee Crate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants