• Home
  • Raw
  • Download

Lines Matching refs:level

107 	int			level;		/* our level (see above) */  member
226 if (cl->level == 0) in htb_classify()
255 if (!cl->level) in htb_classify()
263 if (!cl || cl->level) in htb_classify()
303 struct rb_node **p = &q->hlevel[cl->level].wait_pq.rb_node, *parent = NULL; in htb_add_to_wait_tree()
310 if (q->near_ev_cache[cl->level] > cl->pq_key) in htb_add_to_wait_tree()
311 q->near_ev_cache[cl->level] = cl->pq_key; in htb_add_to_wait_tree()
323 rb_insert_color(&cl->pq_node, &q->hlevel[cl->level].wait_pq); in htb_add_to_wait_tree()
346 q->row_mask[cl->level] |= mask; in htb_add_class_to_row()
350 htb_add_to_id_tree(&q->hlevel[cl->level].hprio[prio].row, cl, prio); in htb_add_class_to_row()
376 struct htb_level *hlevel = &q->hlevel[cl->level]; in htb_remove_class_from_row()
390 q->row_mask[cl->level] &= ~m; in htb_remove_class_from_row()
557 WARN_ON(cl->level || !cl->leaf.q || !cl->leaf.q->q.qlen); in htb_activate()
656 int level, struct sk_buff *skb) in htb_charge_class() argument
664 if (cl->level >= level) { in htb_charge_class()
665 if (cl->level == level) in htb_charge_class()
680 htb_safe_rb_erase(&cl->pq_node, &q->hlevel[cl->level].wait_pq); in htb_charge_class()
686 if (cl->level) in htb_charge_class()
700 static s64 htb_do_events(struct htb_sched *q, const int level, in htb_do_events() argument
708 struct rb_root *wait_pq = &q->hlevel[level].wait_pq; in htb_do_events()
808 if (!cl->level) in htb_lookup_leaf()
824 const int level) in htb_dequeue_tree() argument
828 struct htb_level *hlevel = &q->hlevel[level]; in htb_dequeue_tree()
849 if ((q->row_mask[level] & (1 << prio)) == 0) in htb_dequeue_tree()
865 htb_next_rb_node(level ? &cl->parent->inner.clprio[prio].ptr: in htb_dequeue_tree()
873 cl->leaf.deficit[level] -= qdisc_pkt_len(skb); in htb_dequeue_tree()
874 if (cl->leaf.deficit[level] < 0) { in htb_dequeue_tree()
875 cl->leaf.deficit[level] += cl->quantum; in htb_dequeue_tree()
876 htb_next_rb_node(level ? &cl->parent->inner.clprio[prio].ptr : in htb_dequeue_tree()
884 htb_charge_class(q, cl, level, skb); in htb_dequeue_tree()
893 int level; in htb_dequeue() local
914 for (level = 0; level < TC_HTB_MAXDEPTH; level++) { in htb_dequeue()
917 s64 event = q->near_ev_cache[level]; in htb_dequeue()
920 event = htb_do_events(q, level, start_at); in htb_dequeue()
923 q->near_ev_cache[level] = event; in htb_dequeue()
929 m = ~q->row_mask[level]; in htb_dequeue()
934 skb = htb_dequeue_tree(q, prio, level); in htb_dequeue()
957 if (cl->level) in htb_reset()
1086 if (!cl->level && cl->leaf.q) in htb_dump_class()
1101 opt.level = cl->level; in htb_dump_class()
1130 if (!cl->level && cl->leaf.q) in htb_dump_class_stats()
1152 if (cl->level) in htb_graft()
1166 return !cl->level ? cl->leaf.q : NULL; in htb_leaf()
1192 WARN_ON(cl->level || !cl->leaf.q || cl->prio_activity); in htb_parent_to_leaf()
1196 &q->hlevel[parent->level].wait_pq); in htb_parent_to_leaf()
1198 parent->level = 0; in htb_parent_to_leaf()
1209 if (!cl->level) { in htb_destroy_class()
1263 if (!cl->level && htb_parent_last_child(cl)) { in htb_delete()
1272 if (!cl->level) in htb_delete()
1285 &q->hlevel[cl->level].wait_pq); in htb_delete()
1362 if (parent && parent->parent && parent->parent->level < 2) { in htb_change_class()
1402 if (parent && !parent->level) { in htb_change_class()
1414 parent->level = (parent->parent ? parent->parent->level in htb_change_class()
1460 if (!cl->level) { in htb_change_class()