From f138833d0cd79cf89ebc41dfc3707f52de921736 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Tue, 19 Sep 2017 17:49:13 -0600 Subject: [PATCH] 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 [Add a comment to the patch] Signed-off-by: Hauke Mehrtens --- .../linux/generic/hack-4.9/660-fq_codel_defaults.patch | 10 ++++++++-- .../generic/hack-4.9/661-use_fq_codel_by_default.patch | 4 ++-- 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 c91ea01b50bb..3e6473056c58 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 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 --- net/sched/sch_fq_codel.c | 2 +- @@ -10,12 +13,15 @@ Signed-off-by: Felix Fietkau --- 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 b0af139f830e..c57b4439b426 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 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 .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, }; -- 2.30.2