Live data from Hacker News

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

blog.cloudflare.com

11–20 of 39 posts

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#13
post #11

The article uses the term "CCAs" without ever defining it. I followed the links, and googled it, with no useful result. What is a CCA in this context?

After some searching apparently it means “congestion control algorithm”. Definitely should have been defined in the article, especially since they have a whole section dedicated to explaining what it is.

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#14
post #11

The article uses the term "CCAs" without ever defining it. I followed the links, and googled it, with no useful result. What is a CCA in this context?

a Congestion Control Algorithm -- which uses various signals (mostly dropped packets) to try to estimate the available bandwidth and avoid network connection.

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#15

I can see why they rewrote QUIC in Rust and for use in userspace, though going the in-house approach would warrant keeping an eye on the relevant kernel commits like a hawk to avoid missing bug fixes like these. These in-house implementations tend to have less eyeballs than the kernel. I found it interesting that Cloudflare is not yet using BBR as the default in quiche. CUBIC's recovery in this day and age, and espec…

> though going the in-house approach would warrant keeping an eye on the relevant kernel commits like a hawk to avoid missing bug fixes like these. These in-house implementations tend to have less eyeballs than the kernel.

This is somewhat funny to read because this specific issue in CUBIC (sudden CWND jump upon existing quiescence) was originally discovered in Google's QUIC library and then later reported to the team working on the TCP stack. I know this because I was the one who found that bug back in 2015.

That said, congestion control algorithms are really prone to logic bugs, and very subtle changes in the algorithm can often lead to dramatically different outcomes. Because of that, there's a lot of value in running congestion control code that has been tested on a wide variety of real Internet traffic.

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#16
post #11

The article uses the term "CCAs" without ever defining it. I followed the links, and googled it, with no useful result. What is a CCA in this context?

a Congestion Control Algorithm -- which uses various signals (mostly dropped packets) to try to estimate the available bandwidth and avoid network connection.

Thanks! And to @einsteinx2 and @rp8yxmdmr too.

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#17
post #16

Earlier quoted context omitted.

a Congestion Control Algorithm -- which uses various signals (mostly dropped packets) to try to estimate the available bandwidth and avoid network connection.

Thanks! And to @einsteinx2 and @rp8yxmdmr too.

There are so many overlapping TLA we should have moved to 4 letters long time ago.

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#18
post #16

Earlier quoted context omitted.

Thanks! And to @einsteinx2 and @rp8yxmdmr too.

There are so many overlapping TLA we should have moved to 4 letters long time ago.

Twas ever thus.

There was the proposed eTLA namespace extension...

https://www.catb.org/jargon/html/T/TLA.html

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#19
post #5
post #4

Is it just me, or the article structure and subtitles feel very AI?

Yes, and it becomes unbearable after a while.

I don’t get it. Unlike a lot of the technical article slop that is posted here, this obviously had a lot of human thought and effort put into the prompt.

The LLM pass (unsurprisingly) made it worse.

For example:

The results were conclusive: 100% pass rate, showing Reno recovered cleanly after the loss phase, and revealing that this is a CUBIC-related bug.

Look, I’m reading a description of a Linux kernel network congestion bug. I don’t need the hand-holding.

Re: When “idle” isn't idle: how a Linux kernel optimization became a QUIC bug

#20
What jumps out to me is that this is a success story of using a non-trivial test to illuminate an important but hard to observe bit of algorithm. I appreciate the engineering grit to put in a complex test like this, and follow it up when the graph does not have the expected shape.

Imagine your team does not want to write a test because it's too much work or hard to model - this is a great example to bring up.

Post reply on HN