aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2017-09-19 17:49:13 -0600
committerHauke Mehrtens <hauke@hauke-m.de>2017-09-24 16:28:28 +0200
commitf138833d0cd79cf89ebc41dfc3707f52de921736 (patch)
treed048d6a049bc2547a5bc5812bfcb62d5894bbf6a /target/linux/generic
parent82739648c006c4fb458e97cadf6be6655cdd1f18 (diff)
downloadupstream-f138833d0cd79cf89ebc41dfc3707f52de921736.tar.gz
upstream-f138833d0cd79cf89ebc41dfc3707f52de921736.tar.bz2
upstream-f138833d0cd79cf89ebc41dfc3707f52de921736.zip
kernel: don't scrimp on memory on big iron
x86_64 platforms typically don't lack memory, so don't needlessly economize memory if fq_codel on capable platforms. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> [Add a comment to the patch] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/hack-4.9/660-fq_codel_defaults.patch10
-rw-r--r--target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch4
2 files changed, 10 insertions, 4 deletions
diff --git a/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch b/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch
index c91ea01b50..3e6473056c 100644
--- a/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch
+++ b/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch
@@ -3,6 +3,9 @@ From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 7 Jul 2017 17:21:53 +0200
Subject: hack: net: fq_codel: tune defaults for small devices
+Assume that x86_64 devices always have a big memory and do not need this
+optimization compared to devices with only 32 MB or 64 MB RAM.
+
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
net/sched/sch_fq_codel.c | 2 +-
@@ -10,12 +13,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
-@@ -479,7 +479,7 @@ static int fq_codel_init(struct Qdisc *s
+@@ -479,7 +479,11 @@ static int fq_codel_init(struct Qdisc *s
sch->limit = 10*1024;
q->flows_cnt = 1024;
-- q->memory_limit = 32 << 20; /* 32 MBytes */
++#ifdef CONFIG_X86_64
+ q->memory_limit = 32 << 20; /* 32 MBytes */
++#else
+ q->memory_limit = 4 << 20; /* 4 MBytes */
++#endif
q->drop_batch_size = 64;
q->quantum = psched_mtu(qdisc_dev(sch));
q->perturbation = prandom_u32();
diff --git a/target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch
index b0af139f83..c57b4439b4 100644
--- a/target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch
+++ b/target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
register_qdisc(&pfifo_head_drop_qdisc_ops);
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
-@@ -705,7 +705,7 @@ static const struct Qdisc_class_ops fq_c
+@@ -709,7 +709,7 @@ static const struct Qdisc_class_ops fq_c
.walk = fq_codel_walk,
};
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.cl_ops = &fq_codel_class_ops,
.id = "fq_codel",
.priv_size = sizeof(struct fq_codel_sched_data),
-@@ -720,6 +720,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
+@@ -724,6 +724,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
.dump_stats = fq_codel_dump_stats,
.owner = THIS_MODULE,
};