Change default default qdisc from fq_codel to sch_fq
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 16.7k
- Forks
- 4.7k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 140
Description
systemd version the issue has been seen with
https://github.com/systemd/systemd/commit/e6c253e363dee77ef7e5c5f44c4ca55cded3fd47
Used distribution
Ubuntu 18.04
Expected behaviour you didn't see
Better performance than sch_fq
Unexpected behaviour you saw
Packet loss at the sender (ok, not really unexpected)
Steps to reproduce the problem
The main problem is that fq_codel is nice for routers or forwarding devices, but not for end-systems or servers (and I assume that this is rather the majority of linux installations): it doesn't provide an advantage there, but a serious drawback: packet loss at the sending end-system (note that this will also increase the overall latency for the affected TCP connections!). Normally, this should be avoided by using back-pressure mechanisms locally. However, CoDel drops packets instead of propagating back-pressure.
The steps to reproduce the problems are described here:
https://lists.bufferbloat.net/pipermail/bloat/2018-June/008318.html
(BTW: there is no technical argument in this thread for using fq_codel as default).
So if you're using Linux for a software-based router (openwrt), you'll need a special configuration anyway (so it's easy to set fq_codel as default there), but for servers and normal end-systems/hosts the default should be sch_fq, not fq_codel!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the systemd version referenced in the issue and the linked reproduction discussion to understand how the current fq_codel default is selected. Trace the relevant default configuration entry, then verify that normal end systems use sch_fq while preserving any explicitly configured qdisc behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100