summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2014-10-16 13:49:04 +0200
committerMichal Schmidt <mschmidt@redhat.com>2014-10-20 18:19:00 +0200
commite6c253e363dee77ef7e5c5f44c4ca55cded3fd47 (patch)
tree1d18122c980a28ca8c281f72fa1e8c9cc3da034e
parenta2243d548830d2aff6b768a0b47a0f0a513012a5 (diff)
downloadsystemd-e6c253e363dee77ef7e5c5f44c4ca55cded3fd47.tar.gz
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
-rw-r--r--NEWS12
-rw-r--r--sysctl.d/50-default.conf3
2 files changed, 15 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index c18ceaac5e..6e2b961597 100644
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/sysctl.d/50-default.conf b/sysctl.d/50-default.conf
index 8fc9ab77a9..f18923399b 100644
--- a/sysctl.d/50-default.conf
+++ b/sysctl.d/50-default.conf
@@ -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