Lines Matching refs:this
305 struct csz_flow *this)
308 unsigned long finish = this->finish;
315 this->fnext = f;
316 this->fprev = f->fprev;
317 this->fnext->fprev = this->fprev->fnext = (struct csz_head*)this;
322 struct csz_flow *this) in csz_insert_finish() argument
325 unsigned long finish = this->finish; in csz_insert_finish()
332 this->fnext = f->fnext; in csz_insert_finish()
333 this->fprev = f; in csz_insert_finish()
334 this->fnext->fprev = this->fprev->fnext = (struct csz_head*)this; in csz_insert_finish()
343 struct csz_flow *this) in csz_insert_start() argument
346 unsigned long start = this->start; in csz_insert_start()
353 this->snext = f; in csz_insert_start()
354 this->sprev = f->sprev; in csz_insert_start()
355 this->snext->sprev = this->sprev->snext = (struct csz_head*)this; in csz_insert_start()
469 struct csz_flow *this; in csz_enqueue() local
476 this = &q->flow[flow_id]; in csz_enqueue()
477 if (this->q.qlen >= this->limit || this->L_tab == NULL) { in csz_enqueue()
485 if ((long)(this->finish - R) >= 0) { in csz_enqueue()
487 this->finish += L2R(this,skb->len); in csz_enqueue()
490 this->finish = R + L2R(this,skb->len); in csz_enqueue()
491 q->rate += this->slice.rate; in csz_enqueue()
492 csz_insert_finish(&q->f, this); in csz_enqueue()
497 if (this->q.qlen == 0) { in csz_enqueue()
498 this->start = this->finish; in csz_enqueue()
499 csz_insert_start(&q->s, this); in csz_enqueue()
502 skb_queue_tail(&this->q, skb); in csz_enqueue()
551 csz_move_queue(struct csz_flow *this, long delta) in csz_move_queue() argument
553 this->fprev->fnext = this->fnext; in csz_move_queue()
554 this->fnext->fprev = this->fprev; in csz_move_queue()
556 this->start += delta; in csz_move_queue()
557 this->finish += delta; in csz_move_queue()
559 csz_insert_finish(this); in csz_move_queue()
563 struct csz_flow *this, in csz_enough_tokens() argument
572 toks = PSCHED_TDIFF(now, t_tbf) + this->tokens - L2R(q,this,skb->len); in csz_enough_tokens()
575 if (this->throttled) { in csz_enough_tokens()
579 shift = R - this->R_tbf; in csz_enough_tokens()
580 this->R_tbf = R; in csz_enough_tokens()
586 this->tokens = toks <= this->depth ? toks : this->depth; in csz_enough_tokens()
587 this->t_tbf = now; in csz_enough_tokens()
589 if (!this->throttled) in csz_enough_tokens()
596 this->throttled = 0; in csz_enough_tokens()
598 csz_move_queue(this, shift); in csz_enough_tokens()
602 if (!this->throttled) { in csz_enough_tokens()
606 this->throttled = 1; in csz_enough_tokens()
607 this->R_tbf = csz_update(q); in csz_enough_tokens()
634 this->R_tbf += toks; in csz_enough_tokens()
635 csz_move_queue(this, shift); in csz_enough_tokens()
637 csz_insert_start(this); in csz_enough_tokens()
648 struct csz_flow *this; in csz_dequeue() local
653 this = (struct csz_flow*)q->s.snext; in csz_dequeue()
655 while (this != (struct csz_flow*)&q->s) { in csz_dequeue()
658 this->sprev->snext = this->snext; in csz_dequeue()
659 this->snext->sprev = this->sprev; in csz_dequeue()
661 if (this != &q->flow[0]) { /* Guaranteed flow */ in csz_dequeue()
662 skb = __skb_dequeue(&this->q); in csz_dequeue()
665 if (this->depth) { in csz_dequeue()
666 if (!csz_enough_tokens(q, this, skb)) in csz_dequeue()
670 if (this->q.qlen) { in csz_dequeue()
671 struct sk_buff *nskb = skb_peek(&this->q); in csz_dequeue()
672 this->start += L2R(this,nskb->len); in csz_dequeue()
673 csz_insert_start(&q->s, this); in csz_dequeue()
681 unsigned peeked = this->peeked; in csz_dequeue()
682 this->peeked = 0; in csz_dequeue()
684 if (--this->q.qlen) { in csz_dequeue()
686 unsigned dequeued = L2R(this,skb->len); in csz_dequeue()
692 this->start += dequeued - peeked; in csz_dequeue()
695 peeked = L2R(this,nskb->len); in csz_dequeue()
696 this->start += peeked; in csz_dequeue()
697 this->peeked = peeked; in csz_dequeue()
698 csz_insert_start(&q->s, this); in csz_dequeue()
730 struct csz_flow *this = q->flow + i; in csz_reset() local
731 skb_queue_purge(&this->q); in csz_reset()
732 this->snext = this->sprev = in csz_reset()
733 this->fnext = this->fprev = (struct csz_head*)this; in csz_reset()
734 this->start = this->finish = 0; in csz_reset()
786 struct csz_flow *this = q->flow + i; in csz_init() local
787 skb_queue_head_init(&this->q); in csz_init()
788 this->snext = this->sprev = in csz_init()
789 this->fnext = this->fprev = (struct csz_head*)this; in csz_init()
790 this->start = this->finish = 0; in csz_init()