revert(minimald): remove the 8 MiB guest vsock receive window - #925
revert(minimald): remove the 8 MiB guest vsock receive window#925norrietaylor wants to merge 1 commit into
Conversation
Reverts commit ff79c8c (PR #922), which restored the window that #916 had removed. The window was headroom, never the fix. It works by keeping a normal upload out of the fragmented tail where the guest's skb-overhead ceiling is tripped, but it does not change the ratio between the byte ceiling and the skb ceiling, so a large enough upload or a slow enough reader still reaches it. Measured against the real repo (141 MB compressed) the failure reproduces regardless. The fragmentation itself is fixed in libkrun (#921, approved): coalesce reads into full descriptors and wait briefly on EAGAIN rather than emit a packet too small to carry its own receive-queue accounting. With that landing, the window is redundant complexity in minimald -- an FFI socket-option dance whose only job was to paper over the libkrun defect -- so remove it. Refs: #869
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 35 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
Comment |
Reverts #922 (
ff79c8c2), which restored the 8 MiB guest vsock receive window that #916 had removed.The resulting
crates/minimald/src/main.rsis byte-identical to its post-#916 state — a clean revert to a tree that was already green onmain.Why remove it
The window was always headroom, never the fix. It works by keeping a normal upload out of the fragmented tail where the guest's skb-overhead ceiling trips, but it does not change the ratio between the byte ceiling and the skb ceiling — so a large enough upload or a slow enough reader still reaches it. Against the real repo (141 MB compressed) the failure reproduces with the window in place.
The fragmentation itself is fixed one layer down, in libkrun (#921, approved): coalesce reads into full descriptors and wait briefly on EAGAIN rather than emit a packet too small to carry its own receive-queue accounting. Instrumentation showed 86% of the sub-skb packets come from the fill loop bailing on EAGAIN with descriptor space and credit both free — exactly what that patch addresses, and it measures 16/0 against 0/10.
With the real fix landing, the window is redundant complexity in minimald: an FFI
setsockoptdance (SO_VM_SOCKETS_BUFFER_MAX_SIZEbeforeSO_VM_SOCKETS_BUFFER_SIZE, read-back, best-effort logging) whose only purpose was to paper over the libkrun defect. Remove it and let #921 carry the fix.Refs: #869
Note
Remove 8 MiB guest vsock receive window from
minimaldReverts the AF_VSOCK receive window size increase in main.rs. The
set_vsock_rx_windowhelper, theVSOCK_RX_WINDOW_BYTESconstant, and the call site inasync_mainare all removed. The vsock listener now uses kernel-default buffer sizes, and the associated debug/warn logs about window sizing are no longer emitted.Macroscope summarized 2a10804.