[Bug 2003027] Re: fq_codel qdisc compiled but not enabled on 22.10
Robie Basak
2003027 at bugs.launchpad.net
Wed Aug 28 14:47:42 UTC 2024
This missed making it into 24.04.1, but it'd be nice to get this
released immediately after the images for 24.04.1 are finalised, so that
users get the new behaviour from day one of using 24.04.1. I asked about
this in #ubuntu-release. It'd be a great help if this could be SRU-
verified *immediately* please, following the instructions in the
previous comment. If agreed by the release team, then we could skip the
usual ageing for this change. I think that's OK given that the setting
is well-tested in all previous releases, and the packaging change itself
is trivial to validate with confidence.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/2003027
Title:
fq_codel qdisc compiled but not enabled on 22.10
Status in Ubuntu:
Fix Released
Status in procps package in Ubuntu:
Fix Released
Status in The Noble Numbat:
Confirmed
Status in procps source package in Noble:
Fix Committed
Status in The Oracular Oriole:
Fix Released
Status in procps source package in Oracular:
Fix Released
Bug description:
[ Impact ]
Starting with Ubuntu 22.10, the default qdisc regressed to pfifo_fast. This is due to a change we merged from Debian, removing systemd's /usr/lib/50-default.conf file. pfifo_fast does not prevent bufferbloat issues, severely degrading networking performance on Ubuntu systems.
[ Test Plan ]
On an Ubuntu VM, check that net.core.default_qdisc is set to 'fq_codel'. `tc qdisc show` should also confirm fq_codel is being used.
halves at noble-vm:~$ sysctl net.core.default_qdisc
net.core.default_qdisc = fq_codel
halves at noble-vm:~$ tc qdisc show
qdisc noqueue 0: dev lo root refcnt 2
qdisc mq 0: dev enp5s0 root
qdisc fq_codel 0: dev enp5s0 parent :1 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
[ Where Problems Could Occur ]
Users relying on the default pfifo_fast qdisc could see different networking behavior. Although fq_codel should be an across-the-board improvement over pfifo_fast, we could monitor network latency stats and throughput to make sure no weird regressions arise from the qdisc scheduler.
[ Other Info ]
Instead of adding a sysctl.conf file, Debian has decided to change their default kernel configs to use fq_codel. This has the disadvantage of being "hidden" from end users, instead of being a queryable setting in e.g. /etc/sysctl.d/, and all kernel documentation still refers to pfifo_fast as being the default.
Systemd's /usr/lib/50-default.conf file includes a lot of other
settings that are either overruled elsewhere (e.g. from procps) or are
entirely missing from our stable releases. Introducing a diff from
Debian to ship this file only for the net.core.default_qdisc changes
seems excessive, so having a dedicated place under procps where other
similar toggles are already present seems like the more appropriate
solution.
--
[ Original Description ]
fq_codel has been the default in ubuntu since #1436945
It is also now the default in debian. Somewhere between 22.04 and
22.10 though, it stopped being enabled by systemd? (it used to be
enabled there via a sysctl), and thus 22.10 (I tried both ubuntu
server and ubuntu studio) doesn't have it on. I rather *immediately*
noticed this huge regression (I run my ethernet at 100Mbit, and thus
immediately saw 400+ms latency) - and I hope it can be fixed in the
next release?
it can also be made the default via compiling it into the kernel as a
kernel default.
Aggh! death to fifos!
root at localhost:~# sysctl -a | grep qdisc
net.core.default_qdisc = pfifo_fast
disc pfifo_fast 0: dev eth0 parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 5250 bytes 53 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+bug/2003027/+subscriptions
More information about the foundations-bugs
mailing list