imx6: disable MSI interrupts
[oweals/openwrt.git] / target / linux / generic / patches-4.9 / 661-use_fq_codel_by_default.patch
1 --- a/net/sched/Kconfig
2 +++ b/net/sched/Kconfig
3 @@ -3,8 +3,9 @@
4  # 
5  
6  menuconfig NET_SCHED
7 -       bool "QoS and/or fair queueing"
8 +       def_bool y
9         select NET_SCH_FIFO
10 +       select NET_SCH_FQ_CODEL
11         ---help---
12           When the kernel has several packets to send out over a network
13           device, it has to decide which ones to send first, which ones to
14 --- a/net/sched/sch_fq_codel.c
15 +++ b/net/sched/sch_fq_codel.c
16 @@ -705,7 +705,7 @@ static const struct Qdisc_class_ops fq_c
17         .walk           =       fq_codel_walk,
18  };
19  
20 -static struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
21 +struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
22         .cl_ops         =       &fq_codel_class_ops,
23         .id             =       "fq_codel",
24         .priv_size      =       sizeof(struct fq_codel_sched_data),
25 @@ -720,6 +720,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
26         .dump_stats =   fq_codel_dump_stats,
27         .owner          =       THIS_MODULE,
28  };
29 +EXPORT_SYMBOL(fq_codel_qdisc_ops);
30  
31  static int __init fq_codel_module_init(void)
32  {
33 --- a/include/net/sch_generic.h
34 +++ b/include/net/sch_generic.h
35 @@ -339,12 +339,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
36  extern struct Qdisc_ops pfifo_fast_ops;
37  extern struct Qdisc_ops mq_qdisc_ops;
38  extern struct Qdisc_ops noqueue_qdisc_ops;
39 +extern struct Qdisc_ops fq_codel_qdisc_ops;
40  extern const struct Qdisc_ops *default_qdisc_ops;
41  static inline const struct Qdisc_ops *
42  get_default_qdisc_ops(const struct net_device *dev, int ntx)
43  {
44         return ntx < dev->real_num_tx_queues ?
45 -                       default_qdisc_ops : &pfifo_fast_ops;
46 +                       default_qdisc_ops : &fq_codel_qdisc_ops;
47  }
48  
49  struct Qdisc_class_common {
50 --- a/net/sched/sch_generic.c
51 +++ b/net/sched/sch_generic.c
52 @@ -31,7 +31,7 @@
53  #include <net/dst.h>
54  
55  /* Qdisc to use by default */
56 -const struct Qdisc_ops *default_qdisc_ops = &pfifo_fast_ops;
57 +const struct Qdisc_ops *default_qdisc_ops = &fq_codel_qdisc_ops;
58  EXPORT_SYMBOL(default_qdisc_ops);
59  
60  /* Main transmission queue. */
61 @@ -759,7 +759,7 @@ static void attach_one_default_qdisc(str
62                                      void *_unused)
63  {
64         struct Qdisc *qdisc;
65 -       const struct Qdisc_ops *ops = default_qdisc_ops;
66 +       const struct Qdisc_ops *ops = &fq_codel_qdisc_ops;
67  
68         if (dev->priv_flags & IFF_NO_QUEUE)
69                 ops = &noqueue_qdisc_ops;
70 --- a/net/sched/sch_api.c
71 +++ b/net/sched/sch_api.c
72 @@ -1976,7 +1976,7 @@ static int __init pktsched_init(void)
73                 return err;
74         }
75  
76 -       register_qdisc(&pfifo_fast_ops);
77 +       register_qdisc(&fq_codel_qdisc_ops);
78         register_qdisc(&pfifo_qdisc_ops);
79         register_qdisc(&bfifo_qdisc_ops);
80         register_qdisc(&pfifo_head_drop_qdisc_ops);