[PKT_SCHED] HTB: initialize upper bound properly
The upper bound for HTB time diff needs to be scaled to PSCHED units rather than just assuming usecs. The field mbuffer is used in TDIFF_SAFE(), as an upper bound. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Acked-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
53602f92dd
commit
b3a6251915
|
@ -196,7 +196,7 @@ struct htb_class
|
|||
struct qdisc_rate_table *rate; /* rate table of the class itself */
|
||||
struct qdisc_rate_table *ceil; /* ceiling rate (limits borrows too) */
|
||||
long buffer,cbuffer; /* token bucket depth/rate */
|
||||
long mbuffer; /* max wait time */
|
||||
psched_tdiff_t mbuffer; /* max wait time */
|
||||
long tokens,ctokens; /* current number of tokens */
|
||||
psched_time_t t_c; /* checkpoint time */
|
||||
};
|
||||
|
@ -1601,7 +1601,7 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
|
|||
/* set class to be in HTB_CAN_SEND state */
|
||||
cl->tokens = hopt->buffer;
|
||||
cl->ctokens = hopt->cbuffer;
|
||||
cl->mbuffer = 60000000; /* 1min */
|
||||
cl->mbuffer = PSCHED_JIFFIE2US(HZ*60) /* 1min */
|
||||
PSCHED_GET_TIME(cl->t_c);
|
||||
cl->cmode = HTB_CAN_SEND;
|
||||
|
||||
|
|
Loading…
Reference in New Issue