sysctl.d: default to fq_codel, fight bufferbloat

Quoting from Jon Corbet's report of Stephen Hemminger's talk at Linux
Plumbers Conference 2014 (https://lwn.net/Articles/616241/):

    [...] So Stephen encouraged everybody to run a command like:

    sysctl -w net.core.default_qdisc=fq_codel

    That will cause fq_codel to be used for all future connections
    [Qdiscs apply to interfaces, not connections. Pointed out by TomH
    in the article comments. -- mschmidt] (up to the next reboot).
    Unfortunately, the default queuing discipline cannot be changed,
    since it will certainly disturb some user's workload somewhere.

Let's have the recommended default in systemd.

Thanks to Dave Täht for advice and the summary at
https://lists.bufferbloat.net/pipermail/cerowrt-devel/2014-October/003701.html
This commit is contained in:
Michal Schmidt 2014-10-16 13:49:04 +02:00
parent a2243d5488
commit e6c253e363
2 changed files with 15 additions and 0 deletions

12
NEWS
View File

@ -74,6 +74,18 @@ CHANGES WITH 217:
systemd-ask-password gained a new --echo option to turn
that on.
* The default sysctl.d/ snippets will now set:
net.core.default_qdisc = fq_codel
This selects Fair Queueing Controlled Delay as the default
queueing discipline for network interfaces. fq_codel helps
fight the network bufferbloat problem. It is believed to be
a good default with no tuning required for most workloads.
Downstream distributions may override this choice. On 10Gbit
servers that do not do forwarding, "fq" may perform better.
Systems without a good clocksource should use "pfifo_fast".
CHANGES WITH 216:
* timedated no longer reads NTP implementation unit names from

View File

@ -25,6 +25,9 @@ net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
# Fair Queue CoDel packet scheduler to fight bufferbloat
net.core.default_qdisc = fq_codel
# Enable hard and soft link protection
fs.protected_hardlinks = 1
fs.protected_symlinks = 1