Lines Matching refs:sch
646 struct dn_heap *sch = &(p->scheduler_heap);
666 while ( p->numbytes >=0 && (sch->elements>0 || neh->elements >0) ) {
667 if (sch->elements > 0) { /* have some eligible pkts to send out */
668 struct dn_flow_queue *q = sch->p[0].object ;
674 heap_extract(sch, NULL); /* remove queue from heap */
693 heap_insert(sch, q->F, q);
697 * now compute V = max(V, min(S_i)). Remember that all elements in sch
698 * have by definition S_i <= V so if sch is not empty, V is surely
699 * the max and we must not update it. Conversely, if sch is empty
702 if (sch->elements == 0 && neh->elements > 0)
704 /* move from neh to sch any packets that have become eligible */
708 heap_insert(sch, q->F, q);
716 if (sch->elements == 0 && neh->elements == 0 && p->numbytes >= 0