Accepting for 24.04. It is unfortunate to have to change behaviour in
this way, but this seems preferable than to switch to the reported-worse
qdisc just for 24.04, and also preferable to do sooner rather than later
in 24.04's lifetime, given that the .1 release is due this week.

However, if this is important enough to make a change in a stable
release, and given that it regressed accidentally in Ubuntu, then it's
important enough to have a regression test for. Consider this a slap on
the wrist for not having included a test already. Given the above it's
not appropriate to block pending a test being added, but it should be
considered part of the necessary work to fix this properly regardless.
Please get that done to prevent this from regressing again in the
future. I filed bug 2078101 to track this.

I appreciate that it's tricky to write a test that might need a VM to
pick up kernel defaults to fully validate this, but we could at least
have an autopkgtest that ensures that /etc/sysctl.d/ contains the
expected net.core.default_qdisc setting and not any duplicate settings.
You could also include checks for anything else that is Ubuntu-specific
in there.

** Changed in: procps (Ubuntu Noble)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-noble

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 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@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. 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@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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to