Commit 1b5c0077 authored by Jarek Poplawski's avatar Jarek Poplawski Committed by David S. Miller
Browse files

pkt_sched: sch_htb: Optimize htb_find_next_upper()



htb_id_find_next_upper() is usually called to find a class with next
id after some previously removed class, so let's move a check for
equality to the end: it's the least likely here.

Signed-off-by: default avatarJarek Poplawski <jarkao2@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dbb7a95d
...@@ -698,14 +698,14 @@ static struct rb_node *htb_id_find_next_upper(int prio, struct rb_node *n, ...@@ -698,14 +698,14 @@ static struct rb_node *htb_id_find_next_upper(int prio, struct rb_node *n,
while (n) { while (n) {
struct htb_class *cl = struct htb_class *cl =
rb_entry(n, struct htb_class, node[prio]); rb_entry(n, struct htb_class, node[prio]);
if (id == cl->common.classid)
return n;
if (id > cl->common.classid) { if (id > cl->common.classid) {
n = n->rb_right; n = n->rb_right;
} else { } else if (id < cl->common.classid) {
r = n; r = n;
n = n->rb_left; n = n->rb_left;
} else {
return n;
} }
} }
return r; return r;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment