---------- Forwarded message ---------
From:
Heitor Alves de Siqueira <2003027@bugs.launchpad.net>Date: Wed, Jul 17, 2024 at 11:05 AM
Subject: [Bug 2003027] Re: fq_codel qdisc compiled but not enabled on 22.10
To: <
dave.taht@gmail.com>
** Description changed:
+ [ 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@noble-vm:~$ sysctl net.core.default_qdisc
+ net.core.default_qdisc = fq_codel
+
+ halves@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.
+
+ [ 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@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
+ Sent 5250 bytes 53 pkt (dropped 0, overlimits 0 requeues 0)
+ backlog 0b 0p requeues 0
--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/2003027
Title:
fq_codel qdisc compiled but not enabled on 22.10
Status in Ubuntu:
Confirmed
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@noble-vm:~$ sysctl net.core.default_qdisc
net.core.default_qdisc = fq_codel
halves@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.
[ 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@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