|
|
e293be |
centosplus kernel patch [bug#14413]
|
|
|
e293be |
|
|
|
e293be |
commit 35b42da69e35536da603a50e40aa6c41b2f7b0f8
|
|
|
e293be |
Author: Cong Wang <xiyou.wangcong@gmail.com>
|
|
|
e293be |
Date: Fri Jun 22 14:33:16 2018 -0700
|
|
|
e293be |
|
|
|
e293be |
net_sched: remove a bogus warning in hfsc
|
|
|
e293be |
|
|
|
e293be |
In update_vf():
|
|
|
e293be |
|
|
|
e293be |
cftree_remove(cl);
|
|
|
e293be |
update_cfmin(cl->cl_parent);
|
|
|
e293be |
|
|
|
e293be |
the cl_cfmin of cl->cl_parent is intentionally updated to 0
|
|
|
e293be |
when that parent only has one child. And if this parent is
|
|
|
e293be |
root qdisc, we could end up, in hfsc_schedule_watchdog(),
|
|
|
e293be |
that we can't decide the next schedule time for qdisc watchdog.
|
|
|
e293be |
But it seems safe that we can just skip it, as this watchdog is
|
|
|
e293be |
not always scheduled anyway.
|
|
|
e293be |
|
|
|
e293be |
Thanks to Marco for testing all the cases, nothing is broken.
|
|
|
e293be |
|
|
|
e293be |
Reported-by: Marco Berizzi <pupilla@libero.it>
|
|
|
e293be |
Tested-by: Marco Berizzi <pupilla@libero.it>
|
|
|
e293be |
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
|
|
|
e293be |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
|
e293be |
|
|
|
e293be |
Applied-by: Akemi Yagi <toracat@centos.org>
|
|
|
e293be |
|
|
|
e293be |
|
|
|
e293be |
--- a/net/sched/sch_hfsc.c 2018-06-15 13:57:32.000000000 -0700
|
|
|
e293be |
+++ b/net/sched/sch_hfsc.c 2018-07-14 10:42:59.460218077 -0700
|
|
|
e293be |
@@ -1382,8 +1382,8 @@ hfsc_schedule_watchdog(struct Qdisc *sch
|
|
|
e293be |
if (next_time == 0 || next_time > q->root.cl_cfmin)
|
|
|
e293be |
next_time = q->root.cl_cfmin;
|
|
|
e293be |
}
|
|
|
e293be |
- WARN_ON(next_time == 0);
|
|
|
e293be |
- qdisc_watchdog_schedule(&q->watchdog, next_time);
|
|
|
e293be |
+ if (next_time)
|
|
|
e293be |
+ qdisc_watchdog_schedule(&q->watchdog, next_time);
|
|
|
e293be |
}
|
|
|
e293be |
|
|
|
e293be |
static int
|