Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 59038
b: refs/heads/master
c: c9726d6
h: refs/heads/master
v: v3
  • Loading branch information
Ranjit Manomohan authored and David S. Miller committed Jul 11, 2007
1 parent 6166c41 commit e165a61
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3
refs/heads/master: c9726d6890f7f3a892c879e067c3ed839f61e745
20 changes: 10 additions & 10 deletions trunk/net/sched/sch_htb.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,12 @@ struct htb_class {
/* of un.leaf originals should be done. */
};

/* TODO: maybe compute rate when size is too large .. or drop ? */
static inline long L2T(struct htb_class *cl, struct qdisc_rate_table *rate,
int size)
{
int slot = size >> rate->rate.cell_log;
if (slot > 255) {
cl->xstats.giants++;
slot = 255;
}
if (slot > 255)
return (rate->data[255]*(slot >> 8) + rate->data[slot & 0xFF]);
return rate->data[slot];
}

Expand Down Expand Up @@ -606,13 +603,14 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch)
cl->qstats.drops++;
return NET_XMIT_DROP;
} else {
cl->bstats.packets++;
cl->bstats.packets +=
skb_is_gso(skb)?skb_shinfo(skb)->gso_segs:1;
cl->bstats.bytes += skb->len;
htb_activate(q, cl);
}

sch->q.qlen++;
sch->bstats.packets++;
sch->bstats.packets += skb_is_gso(skb)?skb_shinfo(skb)->gso_segs:1;
sch->bstats.bytes += skb->len;
return NET_XMIT_SUCCESS;
}
Expand Down Expand Up @@ -661,8 +659,9 @@ static int htb_requeue(struct sk_buff *skb, struct Qdisc *sch)
* In such case we remove class from event queue first.
*/
static void htb_charge_class(struct htb_sched *q, struct htb_class *cl,
int level, int bytes)
int level, struct sk_buff *skb)
{
int bytes = skb->len;
long toks, diff;
enum htb_cmode old_mode;

Expand Down Expand Up @@ -698,7 +697,8 @@ static void htb_charge_class(struct htb_sched *q, struct htb_class *cl,
/* update byte stats except for leaves which are already updated */
if (cl->level) {
cl->bstats.bytes += bytes;
cl->bstats.packets++;
cl->bstats.packets += skb_is_gso(skb)?
skb_shinfo(skb)->gso_segs:1;
}
cl = cl->parent;
}
Expand Down Expand Up @@ -882,7 +882,7 @@ static struct sk_buff *htb_dequeue_tree(struct htb_sched *q, int prio,
gives us slightly better performance */
if (!cl->un.leaf.q->q.qlen)
htb_deactivate(q, cl);
htb_charge_class(q, cl, level, skb->len);
htb_charge_class(q, cl, level, skb);
}
return skb;
}
Expand Down

0 comments on commit e165a61

Please sign in to comment.