Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1041454

Bug#890343: linux: make fq_codel default for default_qdisc

From Noah Meyerhans <noahm@debian.org>
Newsgroups linux.debian.bugs.dist, linux.debian.kernel
Subject Bug#890343: linux: make fq_codel default for default_qdisc
Date 2021-01-08 01:20 +0100
Message-ID <BuNFv-3Kv-3@gated-at.bofh.it> (permalink)
References <viMfE-1oC-7@gated-at.bofh.it> <zYSFI-7P6-3@gated-at.bofh.it> <viMfE-1oC-7@gated-at.bofh.it> <zYSFI-7P6-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Cross-posted to 2 groups.

Show all headers | View raw


On Thu, Apr 23, 2020 at 03:34:06PM -0700, Matt Taggart wrote:
> #890343 was originally opened against systemd asking to install the upstream
> systemd sysctl.d/50-default.conf file that sets:
> 
> net.core.default_qdisc = fq_codel
> 
> As explained in #950701 (and the systemd debian changelog) the debian
> systemd maintainers felt that systemd in debian should not be changing
> kernel policies (and I agree).
> So #890343 was reassigned to linux to consider changing the default.
> 
> fq_codel is better in every way than pfifo_fast and I am unaware of any
> reason why it would not be a better default. (but don't trust me, ask the
> kernel networking experts)
> 
> Can we change it?

I strongly agree that we should make this change for the bullseye
release.

I'm looking into provding a patch to implement the switch to fq_codel by
default, but it appears to require something more than just a kernel
config change.  I have tried the following with the 5.10 kernel from the
current sid branch:

CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_DEFAULT_FQ_CODEL=y
CONFIG_DEFAULT_NET_SCH="fq_codel"

Then we don't see any change at all to the qdisc in use:

admin@ip-10-0-0-162:~$ grep -i fq_codel /boot/config-$(uname -r)
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_DEFAULT_FQ_CODEL=y
CONFIG_DEFAULT_NET_SCH="fq_codel"
admin@ip-10-0-0-162:~$ /sbin/sysctl net.core.default_qdisc
net.core.default_qdisc = pfifo_fast
admin@ip-10-0-0-162:~$ tc qdisc show dev ens5
qdisc mq 0: root
qdisc pfifo_fast 0: parent :2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: parent :1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
admin@ip-10-0-0-162:~$ ip link show dev ens5
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:e2:7c:be:ff brd ff:ff:ff:ff:ff:ff
    altname enp0s5

If we statically link the fq_codel module into the kernel, then we see:

admin@ip-10-0-0-162:~$ grep -i fq_codel /boot/config-$(uname -r)
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_DEFAULT_FQ_CODEL=y
CONFIG_DEFAULT_NET_SCH="fq_codel"
admin@ip-10-0-0-162:~$ /sbin/sysctl net.core.default_qdisc
net.core.default_qdisc = fq_codel
admin@ip-10-0-0-162:~$ /sbin/tc qdisc show dev ens5
qdisc mq 0: root
qdisc fq_codel 0: parent :2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
qdisc fq_codel 0: parent :1 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
admin@ip-10-0-0-162:~$ ip link show dev ens5
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:e2:7c:be:ff brd ff:ff:ff:ff:ff:ff
    altname enp0s5

So in this case, we have fq_codel configured, but not as the root
qdisc for the interface.  If we manually set it:

admin@ip-10-0-0-162:~$ sudo /sbin/tc qdisc add root dev ens5 fq_codel

Then we get the following configuration:

admin@ip-10-0-0-162:~$ /sbin/tc qdisc show dev ens5
qdisc fq_codel 8001: root refcnt 3 limit 10240p flows 1024 quantum 9015 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64
admin@ip-10-0-0-162:~$ ip link show dev ens5
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:e2:7c:be:ff brd ff:ff:ff:ff:ff:ff
    altname enp0s5

I believe that this is what we want.  Is that accurate?

The recent thread at https://www.mail-archive.com/netdev@vger.kernel.org/msg380410.html
also seems relevant.

noah

Back to linux.debian.bugs.dist | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Bug#890343: linux: make fq_codel default for default_qdisc Noah Meyerhans <noahm@debian.org> - 2021-01-08 01:20 +0100
  Bug#890343: linux: make fq_codel default for default_qdisc Ivan Baldo <ibaldo@adinet.com.uy> - 2021-01-18 02:40 +0100
    Bug#890343: linux: make fq_codel default for default_qdisc Noah Meyerhans <noahm@debian.org> - 2021-01-20 23:00 +0100
  Bug#890343: linux: make fq_codel default for default_qdisc Vincent Blut <vincent.debian@free.fr> - 2021-01-20 22:30 +0100
    Bug#890343: linux: make fq_codel default for default_qdisc Noah Meyerhans <noahm@debian.org> - 2021-01-20 23:10 +0100
      Bug#890343: linux: make fq_codel default for default_qdisc Noah Meyerhans <noahm@debian.org> - 2021-01-20 23:30 +0100
      Bug#890343: linux: make fq_codel default for default_qdisc Vincent Blut <vincent.debian@free.fr> - 2021-01-20 23:50 +0100
        Bug#890343: linux: make fq_codel default for default_qdisc Noah Meyerhans <noahm@debian.org> - 2021-01-21 00:00 +0100
          Bug#890343: linux: make fq_codel default for default_qdisc Vincent Blut <vincent.debian@free.fr> - 2021-01-21 00:10 +0100
          Bug#890343: linux: make fq_codel default for default_qdisc Ben Hutchings <ben@decadent.org.uk> - 2021-01-21 00:50 +0100
            Bug#890343: linux: make fq_codel default for default_qdisc Vincent Blut <vincent.debian@free.fr> - 2021-02-26 19:10 +0100

csiph-web