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,
88 struct pie_sched_data *q = qdisc_priv(sch);
91 if (unlikely(qdisc_qlen(sch) >= sch->limit)) {
96 if (!pie_drop_early(sch, &q->params, &q->vars, sch->qstats.backlog,
115 if (qdisc_qlen(sch) > q->stats.maxq)
116 q->stats.maxq = qdisc_qlen(sch);
118 return qdisc_enqueue_tail(skb, sch);
124 return qdisc_drop(skb, sch, to_free);
138 static int pie_change(struct Qdisc *sch, struct nlattr *opt,
141 struct pie_sched_data *q = qdisc_priv(sch);
154 sch_tree_lock(sch);
174 sch->limit = limit;
194 qlen = sch->q.qlen;
195 while (sch->q.qlen > sch->limit) {
196 struct sk_buff *skb = __qdisc_dequeue_head(&sch->q);
199 qdisc_qstats_backlog_dec(sch, skb);
200 rtnl_qdisc_drop(skb, sch);
202 qdisc_tree_reduce_backlog(sch, qlen - sch->q.qlen, dropped);
204 sch_tree_unlock(sch);
426 struct Qdisc *sch = q->sch;
427 spinlock_t *root_lock = qdisc_lock(qdisc_root_sleeping(sch));
430 pie_calculate_probability(&q->params, &q->vars, sch->qstats.backlog);
438 static int pie_init(struct Qdisc *sch, struct nlattr *opt,
441 struct pie_sched_data *q = qdisc_priv(sch);
445 sch->limit = q->params.limit;
447 q->sch = sch;
451 int err = pie_change(sch, opt, extack);
461 static int pie_dump(struct Qdisc *sch, struct sk_buff *skb)
463 struct pie_sched_data *q = qdisc_priv(sch);
474 nla_put_u32(skb, TCA_PIE_LIMIT, sch->limit) ||
492 static int pie_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
494 struct pie_sched_data *q = qdisc_priv(sch);
517 static struct sk_buff *pie_qdisc_dequeue(struct Qdisc *sch)
519 struct pie_sched_data *q = qdisc_priv(sch);
520 struct sk_buff *skb = qdisc_dequeue_head(sch);
525 pie_process_dequeue(skb, &q->params, &q->vars, sch->qstats.backlog);
529 static void pie_reset(struct Qdisc *sch)
531 struct pie_sched_data *q = qdisc_priv(sch);
533 qdisc_reset_queue(sch);
537 static void pie_destroy(struct Qdisc *sch)
539 struct pie_sched_data *q = qdisc_priv(sch);