Lines Matching defs:sch

130 	u32		   quantum;        /* psched_mtu(qdisc_dev(sch)); */
247 static enum wdrr_bucket_idx hhf_classify(struct sk_buff *skb, struct Qdisc *sch)
249 struct hhf_sched_data *q = qdisc_priv(sch);
349 static unsigned int hhf_drop(struct Qdisc *sch, struct sk_buff **to_free)
351 struct hhf_sched_data *q = qdisc_priv(sch);
362 sch->q.qlen--;
363 qdisc_qstats_backlog_dec(sch, skb);
364 qdisc_drop(skb, sch, to_free);
371 static int hhf_enqueue(struct sk_buff *skb, struct Qdisc *sch,
374 struct hhf_sched_data *q = qdisc_priv(sch);
379 idx = hhf_classify(skb, sch);
383 qdisc_qstats_backlog_inc(sch, skb);
402 if (++sch->q.qlen <= sch->limit)
405 prev_backlog = sch->qstats.backlog;
410 if (hhf_drop(sch, to_free) == idx)
414 qdisc_tree_reduce_backlog(sch, 1, prev_backlog - sch->qstats.backlog);
418 static struct sk_buff *hhf_dequeue(struct Qdisc *sch)
420 struct hhf_sched_data *q = qdisc_priv(sch);
445 sch->q.qlen--;
446 qdisc_qstats_backlog_dec(sch, skb);
457 qdisc_bstats_update(sch, skb);
463 static void hhf_reset(struct Qdisc *sch)
467 while ((skb = hhf_dequeue(sch)) != NULL)
471 static void hhf_destroy(struct Qdisc *sch)
474 struct hhf_sched_data *q = qdisc_priv(sch);
508 static int hhf_change(struct Qdisc *sch, struct nlattr *opt,
511 struct hhf_sched_data *q = qdisc_priv(sch);
537 sch_tree_lock(sch);
540 sch->limit = nla_get_u32(tb[TCA_HHF_BACKLOG_LIMIT]);
563 qlen = sch->q.qlen;
564 prev_backlog = sch->qstats.backlog;
565 while (sch->q.qlen > sch->limit) {
566 struct sk_buff *skb = hhf_dequeue(sch);
570 qdisc_tree_reduce_backlog(sch, qlen - sch->q.qlen,
571 prev_backlog - sch->qstats.backlog);
573 sch_tree_unlock(sch);
577 static int hhf_init(struct Qdisc *sch, struct nlattr *opt,
580 struct hhf_sched_data *q = qdisc_priv(sch);
583 sch->limit = 1000;
584 q->quantum = psched_mtu(qdisc_dev(sch));
596 int err = hhf_change(sch, opt, extack);
654 static int hhf_dump(struct Qdisc *sch, struct sk_buff *skb)
656 struct hhf_sched_data *q = qdisc_priv(sch);
663 if (nla_put_u32(skb, TCA_HHF_BACKLOG_LIMIT, sch->limit) ||
680 static int hhf_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
682 struct hhf_sched_data *q = qdisc_priv(sch);