Lines Matching refs:sch

68 static int skbprio_enqueue(struct sk_buff *skb, struct Qdisc *sch,
72 struct skbprio_sched_data *q = qdisc_priv(sch);
83 /* sch->limit can change under us from skbprio_change() */
84 if (sch->q.qlen < READ_ONCE(sch->limit)) {
86 qdisc_qstats_backlog_inc(sch, skb);
96 sch->q.qlen++;
105 return qdisc_drop(skb, sch, to_free);
109 qdisc_qstats_backlog_inc(sch, skb);
116 qdisc_qstats_backlog_dec(sch, to_drop);
117 qdisc_drop(to_drop, sch, to_free);
139 static struct sk_buff *skbprio_dequeue(struct Qdisc *sch)
141 struct skbprio_sched_data *q = qdisc_priv(sch);
148 sch->q.qlen--;
149 qdisc_qstats_backlog_dec(sch, skb);
150 qdisc_bstats_update(sch, skb);
166 static int skbprio_change(struct Qdisc *sch, struct nlattr *opt,
174 WRITE_ONCE(sch->limit, ctl->limit);
178 static int skbprio_init(struct Qdisc *sch, struct nlattr *opt,
181 struct skbprio_sched_data *q = qdisc_priv(sch);
191 sch->limit = 64;
195 return skbprio_change(sch, opt, extack);
198 static int skbprio_dump(struct Qdisc *sch, struct sk_buff *skb)
202 opt.limit = READ_ONCE(sch->limit);
210 static void skbprio_reset(struct Qdisc *sch)
212 struct skbprio_sched_data *q = qdisc_priv(sch);
223 static void skbprio_destroy(struct Qdisc *sch)
225 struct skbprio_sched_data *q = qdisc_priv(sch);
232 static struct Qdisc *skbprio_leaf(struct Qdisc *sch, unsigned long arg)
237 static unsigned long skbprio_find(struct Qdisc *sch, u32 classid)
242 static int skbprio_dump_class(struct Qdisc *sch, unsigned long cl,
249 static int skbprio_dump_class_stats(struct Qdisc *sch, unsigned long cl,
252 struct skbprio_sched_data *q = qdisc_priv(sch);
259 static void skbprio_walk(struct Qdisc *sch, struct qdisc_walker *arg)
267 if (!tc_qdisc_stats_dump(sch, i + 1, arg))