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;
 }

Reply via email to