Lines Matching refs:prio

100 	u32			prio;		/* these two are used only by leaves... */
282 * @prio: the give prio in class
285 * Make sure that class is not already on such list for given prio.
288 struct htb_class *cl, int prio)
295 c = rb_entry(parent, struct htb_class, node[prio]);
302 rb_link_node(&cl->node[prio], parent, p);
303 rb_insert_color(&cl->node[prio], root);
368 int prio = ffz(~mask);
369 mask &= ~(1 << prio);
370 htb_add_to_id_tree(&q->hlevel[cl->level].hprio[prio].row, cl, prio);
402 int prio = ffz(~mask);
403 struct htb_prio *hprio = &hlevel->hprio[prio];
405 mask &= ~(1 << prio);
406 if (hprio->ptr == cl->node + prio)
409 htb_safe_rb_erase(cl->node + prio, &hprio->row);
411 m |= 1 << prio;
433 unsigned int prio = ffz(~m);
435 if (WARN_ON_ONCE(prio >= ARRAY_SIZE(p->inner.clprio)))
437 m &= ~(1 << prio);
439 if (p->inner.clprio[prio].feed.rb_node)
443 mask &= ~(1 << prio);
445 htb_add_to_id_tree(&p->inner.clprio[prio].feed, cl, prio);
474 int prio = ffz(~m);
475 m &= ~(1 << prio);
477 if (p->inner.clprio[prio].ptr == cl->node + prio) {
482 p->inner.clprio[prio].last_ptr_id = cl->common.classid;
483 p->inner.clprio[prio].ptr = NULL;
486 htb_safe_rb_erase(cl->node + prio,
487 &p->inner.clprio[prio].feed);
489 if (!p->inner.clprio[prio].feed.rb_node)
490 mask |= 1 << prio;
589 * for the prio. It can be called on already active leaf safely.
597 cl->prio_activity = 1 << cl->prio;
784 /* Returns class->node+prio from id-tree where classe's id is >= id. NULL
787 static struct rb_node *htb_id_find_next_upper(int prio, struct rb_node *n,
793 rb_entry(n, struct htb_class, node[prio]);
810 * @prio: which prio in class
814 static struct htb_class *htb_lookup_leaf(struct htb_prio *hprio, const int prio)
834 htb_id_find_next_upper(prio, sp->root, *sp->pid);
855 cl = rb_entry(*sp->pptr, struct htb_class, node[prio]);
858 clp = &cl->inner.clprio[prio];
869 * you are sure that there is active class at prio/level
871 static struct sk_buff *htb_dequeue_tree(struct htb_sched *q, const int prio,
877 struct htb_prio *hprio = &hlevel->hprio[prio];
880 start = cl = htb_lookup_leaf(hprio, prio);
897 if ((q->row_mask[level] & (1 << prio)) == 0)
900 next = htb_lookup_leaf(hprio, prio);
913 htb_next_rb_node(level ? &cl->parent->inner.clprio[prio].ptr:
914 &q->hlevel[0].hprio[prio].ptr);
915 cl = htb_lookup_leaf(hprio, prio);
924 htb_next_rb_node(level ? &cl->parent->inner.clprio[prio].ptr :
925 &q->hlevel[0].hprio[prio].ptr);
945 /* try to dequeue direct packets as high prio (!) to minimize cpu work */
979 int prio = ffz(m);
981 m |= 1 << prio;
982 skb = htb_dequeue_tree(q, prio, level);
1275 opt.prio = cl->prio;
1831 int prio;
1883 for (prio = 0; prio < TC_HTB_NUMPRIO; prio++)
1884 RB_CLEAR_NODE(&cl->node[prio]);
1909 .prio = hopt->prio,
1931 .prio = hopt->prio,
2018 .prio = hopt->prio,
2058 if ((cl->prio = hopt->prio) >= TC_HTB_NUMPRIO)
2059 cl->prio = TC_HTB_NUMPRIO - 1;