aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2014-10-27 18:14:39 +0000
committerRafał Miłecki <zajec5@gmail.com>2014-10-27 18:14:39 +0000
commit1c45c113c4aee13ca5a5cc30f357d2072a14b5e7 (patch)
tree89a6f12673d11ed2a89ac083a6c93ce47dad831c /target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
parentac7e9e859bb08a7d8a9c82bed1d08abbf57b5ace (diff)
downloadmaster-187ad058-1c45c113c4aee13ca5a5cc30f357d2072a14b5e7.tar.gz
master-187ad058-1c45c113c4aee13ca5a5cc30f357d2072a14b5e7.tar.bz2
master-187ad058-1c45c113c4aee13ca5a5cc30f357d2072a14b5e7.zip
kernel: start working on 3.18 support
This commit: 1) Copies 3.14 patches 2) Drops mainlined stuff 3) Modifies some patches to apply Signed-off-by: Rafał Miłecki <zajec5@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43093 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch')
-rw-r--r--target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch b/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
new file mode 100644
index 0000000000..6a67a894a9
--- /dev/null
+++ b/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
@@ -0,0 +1,75 @@
+--- a/net/sched/Kconfig
++++ b/net/sched/Kconfig
+@@ -3,8 +3,9 @@
+ #
+
+ menuconfig NET_SCHED
+- bool "QoS and/or fair queueing"
++ def_bool y
+ select NET_SCH_FIFO
++ select NET_SCH_FQ_CODEL
+ ---help---
+ When the kernel has several packets to send out over a network
+ device, it has to decide which ones to send first, which ones to
+--- a/net/sched/sch_fq_codel.c
++++ b/net/sched/sch_fq_codel.c
+@@ -592,7 +592,7 @@ static const struct Qdisc_class_ops fq_c
+ .walk = fq_codel_walk,
+ };
+
+-static struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
++struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
+ .cl_ops = &fq_codel_class_ops,
+ .id = "fq_codel",
+ .priv_size = sizeof(struct fq_codel_sched_data),
+@@ -608,6 +608,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
+ .dump_stats = fq_codel_dump_stats,
+ .owner = THIS_MODULE,
+ };
++EXPORT_SYMBOL(fq_codel_qdisc_ops);
+
+ static int __init fq_codel_module_init(void)
+ {
+--- a/include/net/sch_generic.h
++++ b/include/net/sch_generic.h
+@@ -344,6 +344,7 @@ extern struct Qdisc noop_qdisc;
+ extern struct Qdisc_ops noop_qdisc_ops;
+ extern struct Qdisc_ops pfifo_fast_ops;
+ extern struct Qdisc_ops mq_qdisc_ops;
++extern struct Qdisc_ops fq_codel_qdisc_ops;
+ extern const struct Qdisc_ops *default_qdisc_ops;
+
+ struct Qdisc_class_common {
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
+@@ -737,7 +737,7 @@ static void attach_one_default_qdisc(str
+
+ if (dev->tx_queue_len) {
+ qdisc = qdisc_create_dflt(dev_queue,
+- default_qdisc_ops, TC_H_ROOT);
++ &fq_codel_qdisc_ops, TC_H_ROOT);
+ if (!qdisc) {
+ netdev_info(dev, "activation failed\n");
+ return;
+--- a/net/sched/sch_mq.c
++++ b/net/sched/sch_mq.c
+@@ -57,7 +57,7 @@ static int mq_init(struct Qdisc *sch, st
+
+ for (ntx = 0; ntx < dev->num_tx_queues; ntx++) {
+ dev_queue = netdev_get_tx_queue(dev, ntx);
+- qdisc = qdisc_create_dflt(dev_queue, default_qdisc_ops,
++ qdisc = qdisc_create_dflt(dev_queue, &fq_codel_qdisc_ops,
+ TC_H_MAKE(TC_H_MAJ(sch->handle),
+ TC_H_MIN(ntx + 1)));
+ if (qdisc == NULL)
+--- a/net/sched/sch_mqprio.c
++++ b/net/sched/sch_mqprio.c
+@@ -124,7 +124,7 @@ static int mqprio_init(struct Qdisc *sch
+
+ for (i = 0; i < dev->num_tx_queues; i++) {
+ dev_queue = netdev_get_tx_queue(dev, i);
+- qdisc = qdisc_create_dflt(dev_queue, default_qdisc_ops,
++ qdisc = qdisc_create_dflt(dev_queue, &fq_codel_qdisc_ops,
+ TC_H_MAKE(TC_H_MAJ(sch->handle),
+ TC_H_MIN(i + 1)));
+ if (qdisc == NULL) {