Thomas Graf wrote: > * Patrick McHardy <[EMAIL PROTECTED]> 2007-03-16 10:42 > >>David Miller wrote: >> >>>It would be nice to figure out why CBQ isn't working for >>>you, I know at least some folks have used it successfully >>>at some point. >> >>Probably my own incompetence, I'll see if I can find some >>scripts that are known to work. > > > I'll complain if it stops working, I'm still using CBQ to > keep rsync and other bulk flows from interfering with ssh. > HTB just doesn't have the same homy touch :-)
:) I managed to find a working script in the meantime and discovered a bug in my changes, with this patch on top it seems to works fine.
[NET_SCHED]: sch_cbq: fix watchdog scheduled too late q->now is increased during dequeue and doesn't contain the current time afterwards, resulting in a too large timeout value for the qdisc watchdog. Use "now" instead, which still contains the current time. Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]> --- commit b832b2f5f076cdd050b5b142dae10fcca874a4eb tree 19b7dc63ace14cc4a5c0d6d6561487185aef8fdd parent 9b85e807e5971a7ceff45ac450392909ea1c6954 author Patrick McHardy <[EMAIL PROTECTED]> Fri, 16 Mar 2007 13:12:17 +0100 committer Patrick McHardy <[EMAIL PROTECTED]> Fri, 16 Mar 2007 13:12:17 +0100 net/sched/sch_cbq.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c index 0491fad..d83414d 100644 --- a/net/sched/sch_cbq.c +++ b/net/sched/sch_cbq.c @@ -1070,7 +1070,7 @@ cbq_dequeue(struct Qdisc *sch) sch->qstats.overlimits++; if (q->wd_expires) qdisc_watchdog_schedule(&q->watchdog, - q->now + q->wd_expires); + now + q->wd_expires); } return NULL; }