Pull down to refresh stories

When "idle" isn't idle: how a Linux kernel optimization became a QUIC bug

CUBIC, standardized in RFC 9438 , is the default congestion controller in Linux, and as a result governs how most TCP and QUIC connections on the public Internet probe for available bandwidth, back off when they detect loss, and recover afterward. At Cloudflare, our open-source implementation of QUIC, quiche , uses CUBIC as its default congestion controller, meaning this code is in the critical path for a significant share of the traffic we serve. This piece sits on 1 source layers, but the real value is showing why the story should not be skimmed past too quickly.

CUBIC, standardized in RFC 9438 , is the default congestion controller in Linux, and as a result governs how most TCP and QUIC connections on the public Internet probe for available bandwidth, back off when they detect loss, and recover afterward. At Cloudflare, our open-source implementation of QUIC, quiche , uses CUBIC as its default congestion controller, meaning this code is in the critical path for a significant share of the traffic we serve. This story is solid enough to treat the core shift as confirmed, so the better question is how far it travels and who feels it first.

Verified The story is backed by strong or official sources.
Reference image for: When "idle" isn't idle: how a Linux kernel optimization became a QUIC bug
Reference image from Cloudflare Blog. Cloudflare Blog

CUBIC, standardized in RFC 9438 , is the default congestion controller in Linux, and as a result governs how most TCP and QUIC connections on the public Internet probe for available bandwidth, back off when they detect loss, and recover afterward. At Cloudflare, our open-source implementation of QUIC, quiche , uses CUBIC as its default congestion controller, meaning this code is in the critical path for a significant share of the traffic we serve. In this post, we’ll tell the story of a bug in which CUBIC's congestion window (cwnd) gets permanently pinned at its minimum and never recovers from a congestion collapse event. Cloudflare Blog is strong enough to treat the story as verified, but the useful part still lies in the context and practical impact. Changes like this often look small on screen while shifting product habits and day-to-day operating workflows much faster than expected.

Featured offer

Patrick Tech Store Open the AI plans, tools, and software currently getting the push Jump straight into the store to see what Patrick Tech is pushing right now.

What is happening now

CUBIC, standardized in RFC 9438 , is the default congestion controller in Linux, and as a result governs how most TCP and QUIC connections on the public Internet probe for available bandwidth, back off when they detect loss, and recover afterward. Cloudflare Blog form the main source layer behind the core facts in this piece.

Where the sources line up

Cloudflare Blog is strong enough to treat the story as verified, but the useful part still lies in the context and practical impact. At Cloudflare, our open-source implementation of QUIC, quiche , uses CUBIC as its default congestion controller, meaning this code is in the critical path for a significant share of the traffic we serve. Cloudflare Blog form the main source layer behind the core facts in this piece.

Featured offer

Patrick Tech Store Open the AI plans, tools, and software currently getting the push Jump straight into the store to see what Patrick Tech is pushing right now.

The details worth keeping

In this post, we’ll tell the story of a bug in which CUBIC's congestion window (cwnd) gets permanently pinned at its minimum and never recovers from a congestion collapse event. Changes like this often look small on screen while shifting product habits and day-to-day operating workflows much faster than expected.

Why this matters most

This story is solid enough to treat the core shift as confirmed, so the better question is how far it travels and who feels it first. Even when the core is settled, the next useful read is still the rollout speed, the real impact, and the switching cost for users or teams. The story starts with a Linux kernel change aimed at bringing CUBIC into line with the app-limited exclusion described in RFC 9438 §4. 2-12 — a fix to a real problem in TCP that, when ported to our QUIC implementation, surfaced unexpected behaviors in quiche.

What to watch next

The next thing to watch is rollout speed, regional limits, and whether the update really changes day-to-day habits. Patrick Tech Media will keep checking rollout speed, user reaction, and how Cloudflare Blog update the next pieces. From 1 early signals, the piece keeps 1 references that are useful for locking the main details in place.

Context Worth Keeping

CUBIC, standardized in RFC 9438 , is the default congestion controller in Linux, and as a result governs how most TCP and QUIC connections on the public Internet probe for available bandwidth, back off when they detect loss, and recover afterward. At Cloudflare, our open-source implementation of QUIC, quiche , uses CUBIC as its default congestion controller, meaning this code is in the critical path for a significant share of the traffic we serve. In this post, we’ll tell the story of a bug in which CUBIC's congestion window (cwnd) gets permanently pinned at its minimum and never recovers from a congestion collapse event. Cloudflare Blog is strong enough to treat the story as verified, but the useful part still lies in the context and practical impact. Changes like this often look small on screen while shifting product habits and day-to-day operating workflows much faster than expected. The part worth holding onto is how a product change can ripple through the way a small team works, shares, and follows up. The floor is firmer here because the story is anchored by an official source, not only by second-hand reaction.

Source notes

From Patrick Tech

Contextual tools

Related stories