Lines Matching defs:sch

30 	struct Qdisc *sch;
33 bool pie_drop_early(struct Qdisc *sch, struct pie_params *params,
38 u32 mtu = psched_mtu(qdisc_dev(sch));
85 static int pie_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
89 struct pie_sched_data *q = qdisc_priv(sch);
92 if (unlikely(qdisc_qlen(sch) >= sch->limit)) {
99 if (!pie_drop_early(sch, &q->params, &q->vars, sch->qstats.backlog,
118 if (qdisc_qlen(sch) > q->stats.maxq)
119 q->stats.maxq = qdisc_qlen(sch);
121 return qdisc_enqueue_tail(skb, sch);
127 return qdisc_drop_reason(skb, sch, to_free, reason);
141 static int pie_change(struct Qdisc *sch, struct nlattr *opt,
144 struct pie_sched_data *q = qdisc_priv(sch);
154 sch_tree_lock(sch);
175 WRITE_ONCE(sch->limit, limit);
196 qlen = sch->q.qlen;
197 while (sch->q.qlen > sch->limit) {
198 struct sk_buff *skb = __qdisc_dequeue_head(&sch->q);
201 qdisc_qstats_backlog_dec(sch, skb);
202 rtnl_qdisc_drop(skb, sch);
204 qdisc_tree_reduce_backlog(sch, qlen - sch->q.qlen, dropped);
206 sch_tree_unlock(sch);
428 struct Qdisc *sch = q->sch;
432 root_lock = qdisc_lock(qdisc_root_sleeping(sch));
434 pie_calculate_probability(&q->params, &q->vars, sch->qstats.backlog);
443 static int pie_init(struct Qdisc *sch, struct nlattr *opt,
446 struct pie_sched_data *q = qdisc_priv(sch);
450 sch->limit = q->params.limit;
452 q->sch = sch;
456 int err = pie_change(sch, opt, extack);
466 static int pie_dump(struct Qdisc *sch, struct sk_buff *skb)
468 struct pie_sched_data *q = qdisc_priv(sch);
479 nla_put_u32(skb, TCA_PIE_LIMIT, READ_ONCE(sch->limit)) ||
498 static int pie_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
500 struct pie_sched_data *q = qdisc_priv(sch);
523 static struct sk_buff *pie_qdisc_dequeue(struct Qdisc *sch)
525 struct pie_sched_data *q = qdisc_priv(sch);
526 struct sk_buff *skb = qdisc_dequeue_head(sch);
531 pie_process_dequeue(skb, &q->params, &q->vars, sch->qstats.backlog);
535 static void pie_reset(struct Qdisc *sch)
537 struct pie_sched_data *q = qdisc_priv(sch);
539 qdisc_reset_queue(sch);
543 static void pie_destroy(struct Qdisc *sch)
545 struct pie_sched_data *q = qdisc_priv(sch);