12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- From 1d418f7e88035ed7a94073f6354246c66e9193e9 Mon Sep 17 00:00:00 2001
- From: Felix Fietkau <nbd@nbd.name>
- Date: Fri, 7 Jul 2017 17:22:58 +0200
- Subject: fq_codel: switch default qdisc from pfifo_fast to fq_codel and remove pfifo_fast
- Signed-off-by: Felix Fietkau <nbd@nbd.name>
- ---
- include/net/sch_generic.h | 3 ++-
- net/sched/Kconfig | 3 ++-
- net/sched/sch_api.c | 2 +-
- net/sched/sch_fq_codel.c | 3 ++-
- net/sched/sch_generic.c | 4 ++--
- 5 files changed, 9 insertions(+), 6 deletions(-)
- --- a/include/net/sch_generic.h
- +++ b/include/net/sch_generic.h
- @@ -373,12 +373,13 @@ 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 noqueue_qdisc_ops;
- +extern struct Qdisc_ops fq_codel_qdisc_ops;
- extern const struct Qdisc_ops *default_qdisc_ops;
- static inline const struct Qdisc_ops *
- get_default_qdisc_ops(const struct net_device *dev, int ntx)
- {
- return ntx < dev->real_num_tx_queues ?
- - default_qdisc_ops : &pfifo_fast_ops;
- + default_qdisc_ops : &fq_codel_qdisc_ops;
- }
-
- struct Qdisc_class_common {
- --- 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_api.c
- +++ b/net/sched/sch_api.c
- @@ -2037,7 +2037,7 @@ static int __init pktsched_init(void)
- return err;
- }
-
- - register_qdisc(&pfifo_fast_ops);
- + register_qdisc(&fq_codel_qdisc_ops);
- register_qdisc(&pfifo_qdisc_ops);
- register_qdisc(&bfifo_qdisc_ops);
- register_qdisc(&pfifo_head_drop_qdisc_ops);
- --- a/net/sched/sch_fq_codel.c
- +++ b/net/sched/sch_fq_codel.c
- @@ -700,7 +700,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),
- @@ -715,6 +715,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/net/sched/sch_generic.c
- +++ b/net/sched/sch_generic.c
- @@ -32,7 +32,7 @@
- #include <trace/events/qdisc.h>
-
- /* Qdisc to use by default */
- -const struct Qdisc_ops *default_qdisc_ops = &pfifo_fast_ops;
- +const struct Qdisc_ops *default_qdisc_ops = &fq_codel_qdisc_ops;
- EXPORT_SYMBOL(default_qdisc_ops);
-
- /* Main transmission queue. */
- @@ -765,7 +765,7 @@ static void attach_one_default_qdisc(str
- void *_unused)
- {
- struct Qdisc *qdisc;
- - const struct Qdisc_ops *ops = default_qdisc_ops;
- + const struct Qdisc_ops *ops = &fq_codel_qdisc_ops;
-
- if (dev->priv_flags & IFF_NO_QUEUE)
- ops = &noqueue_qdisc_ops;
|