net_sched: cbq: remove a flaky use of qdisc_is_throttled()
authorEric Dumazet <edumazet@google.com>
Fri, 10 Jun 2016 23:41:37 +0000 (16:41 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Jun 2016 06:58:20 +0000 (23:58 -0700)
So far no qdisc ever unset the throttled bit at enqueue() time,
so CBQ usage of qdisc_is_throttled() was flaky.

Since __QDISC_STATE_THROTTLED set/unset is way too expensive
considering that only CBQ was eventually caring for this status,
it would make sense to implement a Qdisc ops ->is_throttled()
if we find that this is needed.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_cbq.c

index f2af31be637092b37230d981cfad5df09645e219..6e61f9aa8783977e386423fd1cddc20aa0860f34 100644 (file)
@@ -345,7 +345,7 @@ cbq_mark_toplevel(struct cbq_sched_data *q, struct cbq_class *cl)
 {
        int toplevel = q->toplevel;
 
-       if (toplevel > cl->level && !(qdisc_is_throttled(cl->q))) {
+       if (toplevel > cl->level) {
                psched_time_t now = psched_get_time();
 
                do {