Lines Matching refs:level

110 	int			level;		/* our level (see above) */  member
223 if (cl->level == 0) in htb_classify()
250 if (!cl->level) in htb_classify()
258 if (!cl || cl->level) in htb_classify()
298 struct rb_node **p = &q->hlevel[cl->level].wait_pq.rb_node, *parent = NULL; in htb_add_to_wait_tree()
305 if (q->near_ev_cache[cl->level] > cl->pq_key) in htb_add_to_wait_tree()
306 q->near_ev_cache[cl->level] = cl->pq_key; in htb_add_to_wait_tree()
318 rb_insert_color(&cl->pq_node, &q->hlevel[cl->level].wait_pq); in htb_add_to_wait_tree()
341 q->row_mask[cl->level] |= mask; 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()
371 struct htb_level *hlevel = &q->hlevel[cl->level]; in htb_remove_class_from_row()
385 q->row_mask[cl->level] &= ~m; in htb_remove_class_from_row()
547 WARN_ON(cl->level || !cl->un.leaf.q || !cl->un.leaf.q->q.qlen); in htb_activate()
646 int level, struct sk_buff *skb) in htb_charge_class() argument
654 if (cl->level >= level) { in htb_charge_class()
655 if (cl->level == level) in htb_charge_class()
670 htb_safe_rb_erase(&cl->pq_node, &q->hlevel[cl->level].wait_pq); in htb_charge_class()
676 if (cl->level) in htb_charge_class()
690 static s64 htb_do_events(struct htb_sched *q, const int level, in htb_do_events() argument
698 struct rb_root *wait_pq = &q->hlevel[level].wait_pq; in htb_do_events()
798 if (!cl->level) in htb_lookup_leaf()
814 const int level) in htb_dequeue_tree() argument
818 struct htb_level *hlevel = &q->hlevel[level]; in htb_dequeue_tree()
839 if ((q->row_mask[level] & (1 << prio)) == 0) in htb_dequeue_tree()
855 htb_next_rb_node(level ? &cl->parent->un.inner.clprio[prio].ptr: in htb_dequeue_tree()
863 cl->un.leaf.deficit[level] -= qdisc_pkt_len(skb); in htb_dequeue_tree()
864 if (cl->un.leaf.deficit[level] < 0) { in htb_dequeue_tree()
865 cl->un.leaf.deficit[level] += cl->quantum; in htb_dequeue_tree()
866 htb_next_rb_node(level ? &cl->parent->un.inner.clprio[prio].ptr : in htb_dequeue_tree()
874 htb_charge_class(q, cl, level, skb); in htb_dequeue_tree()
883 int level; in htb_dequeue() local
905 for (level = 0; level < TC_HTB_MAXDEPTH; level++) { in htb_dequeue()
908 s64 event = q->near_ev_cache[level]; in htb_dequeue()
911 event = htb_do_events(q, level, start_at); in htb_dequeue()
914 q->near_ev_cache[level] = event; in htb_dequeue()
920 m = ~q->row_mask[level]; in htb_dequeue()
925 skb = htb_dequeue_tree(q, prio, level); in htb_dequeue()
981 if (cl->level) in htb_reset()
1106 if (!cl->level && cl->un.leaf.q) in htb_dump_class()
1121 opt.level = cl->level; in htb_dump_class()
1144 if (!cl->level && cl->un.leaf.q) in htb_dump_class_stats()
1162 if (cl->level) in htb_graft()
1176 return !cl->level ? cl->un.leaf.q : NULL; in htb_leaf()
1211 WARN_ON(cl->level || !cl->un.leaf.q || cl->prio_activity); in htb_parent_to_leaf()
1215 &q->hlevel[parent->level].wait_pq); in htb_parent_to_leaf()
1217 parent->level = 0; in htb_parent_to_leaf()
1229 if (!cl->level) { in htb_destroy_class()
1281 if (!cl->level && htb_parent_last_child(cl)) { in htb_delete()
1289 if (!cl->level) { in htb_delete()
1307 &q->hlevel[cl->level].wait_pq); in htb_delete()
1391 if (parent && parent->parent && parent->parent->level < 2) { in htb_change_class()
1426 if (parent && !parent->level) { in htb_change_class()
1442 parent->level = (parent->parent ? parent->parent->level in htb_change_class()
1487 if (!cl->level) { in htb_change_class()