Lines Matching full:sch

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