summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.4/030-net_sched-introduce-qdisc_replace-helper.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.4/030-net_sched-introduce-qdisc_replace-helper.patch')
-rw-r--r--target/linux/generic/patches-4.4/030-net_sched-introduce-qdisc_replace-helper.patch237
1 files changed, 0 insertions, 237 deletions
diff --git a/target/linux/generic/patches-4.4/030-net_sched-introduce-qdisc_replace-helper.patch b/target/linux/generic/patches-4.4/030-net_sched-introduce-qdisc_replace-helper.patch
deleted file mode 100644
index a3a601b346..0000000000
--- a/target/linux/generic/patches-4.4/030-net_sched-introduce-qdisc_replace-helper.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-From: WANG Cong <xiyou.wangcong@gmail.com>
-Date: Thu, 25 Feb 2016 14:55:00 -0800
-Subject: [PATCH] net_sched: introduce qdisc_replace() helper
-
-Remove nearly duplicated code and prepare for the following patch.
-
-Cc: Jamal Hadi Salim <jhs@mojatatu.com>
-Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
-Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
---- a/include/net/sch_generic.h
-+++ b/include/net/sch_generic.h
-@@ -698,6 +698,23 @@ static inline void qdisc_reset_queue(str
- sch->qstats.backlog = 0;
- }
-
-+static inline struct Qdisc *qdisc_replace(struct Qdisc *sch, struct Qdisc *new,
-+ struct Qdisc **pold)
-+{
-+ struct Qdisc *old;
-+
-+ sch_tree_lock(sch);
-+ old = *pold;
-+ *pold = new;
-+ if (old != NULL) {
-+ qdisc_tree_decrease_qlen(old, old->q.qlen);
-+ qdisc_reset(old);
-+ }
-+ sch_tree_unlock(sch);
-+
-+ return old;
-+}
-+
- static inline unsigned int __qdisc_queue_drop(struct Qdisc *sch,
- struct sk_buff_head *list)
- {
---- a/net/sched/sch_cbq.c
-+++ b/net/sched/sch_cbq.c
-@@ -1624,13 +1624,8 @@ static int cbq_graft(struct Qdisc *sch,
- new->reshape_fail = cbq_reshape_fail;
- #endif
- }
-- sch_tree_lock(sch);
-- *old = cl->q;
-- cl->q = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
-
-+ *old = qdisc_replace(sch, new, &cl->q);
- return 0;
- }
-
---- a/net/sched/sch_drr.c
-+++ b/net/sched/sch_drr.c
-@@ -226,11 +226,7 @@ static int drr_graft_class(struct Qdisc
- new = &noop_qdisc;
- }
-
-- sch_tree_lock(sch);
-- drr_purge_queue(cl);
-- *old = cl->qdisc;
-- cl->qdisc = new;
-- sch_tree_unlock(sch);
-+ *old = qdisc_replace(sch, new, &cl->qdisc);
- return 0;
- }
-
---- a/net/sched/sch_dsmark.c
-+++ b/net/sched/sch_dsmark.c
-@@ -73,13 +73,7 @@ static int dsmark_graft(struct Qdisc *sc
- new = &noop_qdisc;
- }
-
-- sch_tree_lock(sch);
-- *old = p->q;
-- p->q = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
--
-+ *old = qdisc_replace(sch, new, &p->q);
- return 0;
- }
-
---- a/net/sched/sch_hfsc.c
-+++ b/net/sched/sch_hfsc.c
-@@ -1215,11 +1215,7 @@ hfsc_graft_class(struct Qdisc *sch, unsi
- new = &noop_qdisc;
- }
-
-- sch_tree_lock(sch);
-- hfsc_purge_queue(sch, cl);
-- *old = cl->qdisc;
-- cl->qdisc = new;
-- sch_tree_unlock(sch);
-+ *old = qdisc_replace(sch, new, &cl->qdisc);
- return 0;
- }
-
---- a/net/sched/sch_htb.c
-+++ b/net/sched/sch_htb.c
-@@ -1163,14 +1163,7 @@ static int htb_graft(struct Qdisc *sch,
- cl->common.classid)) == NULL)
- return -ENOBUFS;
-
-- sch_tree_lock(sch);
-- *old = cl->un.leaf.q;
-- cl->un.leaf.q = new;
-- if (*old != NULL) {
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- }
-- sch_tree_unlock(sch);
-+ *old = qdisc_replace(sch, new, &cl->un.leaf.q);
- return 0;
- }
-
---- a/net/sched/sch_multiq.c
-+++ b/net/sched/sch_multiq.c
-@@ -303,13 +303,7 @@ static int multiq_graft(struct Qdisc *sc
- if (new == NULL)
- new = &noop_qdisc;
-
-- sch_tree_lock(sch);
-- *old = q->queues[band];
-- q->queues[band] = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
--
-+ *old = qdisc_replace(sch, new, &q->queues[band]);
- return 0;
- }
-
---- a/net/sched/sch_netem.c
-+++ b/net/sched/sch_netem.c
-@@ -1037,15 +1037,7 @@ static int netem_graft(struct Qdisc *sch
- {
- struct netem_sched_data *q = qdisc_priv(sch);
-
-- sch_tree_lock(sch);
-- *old = q->qdisc;
-- q->qdisc = new;
-- if (*old) {
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- }
-- sch_tree_unlock(sch);
--
-+ *old = qdisc_replace(sch, new, &q->qdisc);
- return 0;
- }
-
---- a/net/sched/sch_prio.c
-+++ b/net/sched/sch_prio.c
-@@ -268,13 +268,7 @@ static int prio_graft(struct Qdisc *sch,
- if (new == NULL)
- new = &noop_qdisc;
-
-- sch_tree_lock(sch);
-- *old = q->queues[band];
-- q->queues[band] = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
--
-+ *old = qdisc_replace(sch, new, &q->queues[band]);
- return 0;
- }
-
---- a/net/sched/sch_qfq.c
-+++ b/net/sched/sch_qfq.c
-@@ -617,11 +617,7 @@ static int qfq_graft_class(struct Qdisc
- new = &noop_qdisc;
- }
-
-- sch_tree_lock(sch);
-- qfq_purge_queue(cl);
-- *old = cl->qdisc;
-- cl->qdisc = new;
-- sch_tree_unlock(sch);
-+ *old = qdisc_replace(sch, new, &cl->qdisc);
- return 0;
- }
-
---- a/net/sched/sch_red.c
-+++ b/net/sched/sch_red.c
-@@ -313,12 +313,7 @@ static int red_graft(struct Qdisc *sch,
- if (new == NULL)
- new = &noop_qdisc;
-
-- sch_tree_lock(sch);
-- *old = q->qdisc;
-- q->qdisc = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
-+ *old = qdisc_replace(sch, new, &q->qdisc);
- return 0;
- }
-
---- a/net/sched/sch_sfb.c
-+++ b/net/sched/sch_sfb.c
-@@ -606,12 +606,7 @@ static int sfb_graft(struct Qdisc *sch,
- if (new == NULL)
- new = &noop_qdisc;
-
-- sch_tree_lock(sch);
-- *old = q->qdisc;
-- q->qdisc = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
-+ *old = qdisc_replace(sch, new, &q->qdisc);
- return 0;
- }
-
---- a/net/sched/sch_tbf.c
-+++ b/net/sched/sch_tbf.c
-@@ -502,13 +502,7 @@ static int tbf_graft(struct Qdisc *sch,
- if (new == NULL)
- new = &noop_qdisc;
-
-- sch_tree_lock(sch);
-- *old = q->qdisc;
-- q->qdisc = new;
-- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-- qdisc_reset(*old);
-- sch_tree_unlock(sch);
--
-+ *old = qdisc_replace(sch, new, &q->qdisc);
- return 0;
- }
-