Lines Matching refs:prio
103 u32 prio; /* these two are used only by leaves... */ member
270 struct htb_class *cl, int prio) in htb_add_to_id_tree() argument
277 c = rb_entry(parent, struct htb_class, node[prio]); in htb_add_to_id_tree()
284 rb_link_node(&cl->node[prio], parent, p); in htb_add_to_id_tree()
285 rb_insert_color(&cl->node[prio], root); in htb_add_to_id_tree()
343 int prio = ffz(~mask); in htb_add_class_to_row() local
344 mask &= ~(1 << prio); in htb_add_class_to_row()
345 htb_add_to_id_tree(&q->hlevel[cl->level].hprio[prio].row, cl, prio); in htb_add_class_to_row()
374 int prio = ffz(~mask); in htb_remove_class_from_row() local
375 struct htb_prio *hprio = &hlevel->hprio[prio]; in htb_remove_class_from_row()
377 mask &= ~(1 << prio); in htb_remove_class_from_row()
378 if (hprio->ptr == cl->node + prio) in htb_remove_class_from_row()
381 htb_safe_rb_erase(cl->node + prio, &hprio->row); in htb_remove_class_from_row()
383 m |= 1 << prio; in htb_remove_class_from_row()
403 int prio = ffz(~m); in htb_activate_prios() local
404 m &= ~(1 << prio); in htb_activate_prios()
406 if (p->un.inner.clprio[prio].feed.rb_node) in htb_activate_prios()
410 mask &= ~(1 << prio); in htb_activate_prios()
412 htb_add_to_id_tree(&p->un.inner.clprio[prio].feed, cl, prio); in htb_activate_prios()
439 int prio = ffz(~m); in htb_deactivate_prios() local
440 m &= ~(1 << prio); in htb_deactivate_prios()
442 if (p->un.inner.clprio[prio].ptr == cl->node + prio) { in htb_deactivate_prios()
447 p->un.inner.clprio[prio].last_ptr_id = cl->common.classid; in htb_deactivate_prios()
448 p->un.inner.clprio[prio].ptr = NULL; in htb_deactivate_prios()
451 htb_safe_rb_erase(cl->node + prio, in htb_deactivate_prios()
452 &p->un.inner.clprio[prio].feed); in htb_deactivate_prios()
454 if (!p->un.inner.clprio[prio].feed.rb_node) in htb_deactivate_prios()
455 mask |= 1 << prio; in htb_deactivate_prios()
550 cl->prio_activity = 1 << cl->prio; in htb_activate()
553 q->drops + cl->prio); in htb_activate()
730 static struct rb_node *htb_id_find_next_upper(int prio, struct rb_node *n, in htb_id_find_next_upper() argument
736 rb_entry(n, struct htb_class, node[prio]); in htb_id_find_next_upper()
755 static struct htb_class *htb_lookup_leaf(struct htb_prio *hprio, const int prio) in htb_lookup_leaf() argument
775 htb_id_find_next_upper(prio, sp->root, *sp->pid); in htb_lookup_leaf()
796 cl = rb_entry(*sp->pptr, struct htb_class, node[prio]); in htb_lookup_leaf()
799 clp = &cl->un.inner.clprio[prio]; in htb_lookup_leaf()
812 static struct sk_buff *htb_dequeue_tree(struct htb_sched *q, const int prio, in htb_dequeue_tree() argument
818 struct htb_prio *hprio = &hlevel->hprio[prio]; in htb_dequeue_tree()
821 start = cl = htb_lookup_leaf(hprio, prio); in htb_dequeue_tree()
838 if ((q->row_mask[level] & (1 << prio)) == 0) in htb_dequeue_tree()
841 next = htb_lookup_leaf(hprio, prio); in htb_dequeue_tree()
854 htb_next_rb_node(level ? &cl->parent->un.inner.clprio[prio].ptr: in htb_dequeue_tree()
855 &q->hlevel[0].hprio[prio].ptr); in htb_dequeue_tree()
856 cl = htb_lookup_leaf(hprio, prio); in htb_dequeue_tree()
865 htb_next_rb_node(level ? &cl->parent->un.inner.clprio[prio].ptr : in htb_dequeue_tree()
866 &q->hlevel[0].hprio[prio].ptr); in htb_dequeue_tree()
920 int prio = ffz(m); in htb_dequeue() local
922 m |= 1 << prio; in htb_dequeue()
923 skb = htb_dequeue_tree(q, prio, level); in htb_dequeue()
948 int prio; in htb_drop() local
950 for (prio = TC_HTB_NUMPRIO - 1; prio >= 0; prio--) { in htb_drop()
952 list_for_each(p, q->drops + prio) { in htb_drop()
1119 opt.prio = cl->prio; in htb_dump_class()
1374 int prio; in htb_change_class() local
1421 for (prio = 0; prio < TC_HTB_NUMPRIO; prio++) in htb_change_class()
1422 RB_CLEAR_NODE(&cl->node[prio]); in htb_change_class()
1509 if ((cl->prio = hopt->prio) >= TC_HTB_NUMPRIO) in htb_change_class()
1510 cl->prio = TC_HTB_NUMPRIO - 1; in htb_change_class()