• Home
  • Raw
  • Download

Lines Matching refs:sch

39 static struct drr_class *drr_find_class(struct Qdisc *sch, u32 classid)  in drr_find_class()  argument
41 struct drr_sched *q = qdisc_priv(sch); in drr_find_class()
54 static int drr_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in drr_change_class() argument
58 struct drr_sched *q = qdisc_priv(sch); in drr_change_class()
82 quantum = psched_mtu(qdisc_dev(sch)); in drr_change_class()
89 qdisc_root_sleeping_running(sch), in drr_change_class()
97 sch_tree_lock(sch); in drr_change_class()
100 sch_tree_unlock(sch); in drr_change_class()
111 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
122 qdisc_root_sleeping_running(sch), in drr_change_class()
132 sch_tree_lock(sch); in drr_change_class()
134 sch_tree_unlock(sch); in drr_change_class()
136 qdisc_class_hash_grow(sch, &q->clhash); in drr_change_class()
142 static void drr_destroy_class(struct Qdisc *sch, struct drr_class *cl) in drr_destroy_class() argument
149 static int drr_delete_class(struct Qdisc *sch, unsigned long arg, in drr_delete_class() argument
152 struct drr_sched *q = qdisc_priv(sch); in drr_delete_class()
158 sch_tree_lock(sch); in drr_delete_class()
163 sch_tree_unlock(sch); in drr_delete_class()
165 drr_destroy_class(sch, cl); in drr_delete_class()
169 static unsigned long drr_search_class(struct Qdisc *sch, u32 classid) in drr_search_class() argument
171 return (unsigned long)drr_find_class(sch, classid); in drr_search_class()
174 static struct tcf_block *drr_tcf_block(struct Qdisc *sch, unsigned long cl, in drr_tcf_block() argument
177 struct drr_sched *q = qdisc_priv(sch); in drr_tcf_block()
187 static unsigned long drr_bind_tcf(struct Qdisc *sch, unsigned long parent, in drr_bind_tcf() argument
190 struct drr_class *cl = drr_find_class(sch, classid); in drr_bind_tcf()
198 static void drr_unbind_tcf(struct Qdisc *sch, unsigned long arg) in drr_unbind_tcf() argument
205 static int drr_graft_class(struct Qdisc *sch, unsigned long arg, in drr_graft_class() argument
212 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in drr_graft_class()
218 *old = qdisc_replace(sch, new, &cl->qdisc); in drr_graft_class()
222 static struct Qdisc *drr_class_leaf(struct Qdisc *sch, unsigned long arg) in drr_class_leaf() argument
236 static int drr_dump_class(struct Qdisc *sch, unsigned long arg, in drr_dump_class() argument
258 static int drr_dump_class_stats(struct Qdisc *sch, unsigned long arg, in drr_dump_class_stats() argument
270 if (gnet_stats_copy_basic(qdisc_root_sleeping_running(sch), in drr_dump_class_stats()
279 static void drr_walk(struct Qdisc *sch, struct qdisc_walker *arg) in drr_walk() argument
281 struct drr_sched *q = qdisc_priv(sch); in drr_walk()
294 if (arg->fn(sch, (unsigned long)cl, arg) < 0) { in drr_walk()
303 static struct drr_class *drr_classify(struct sk_buff *skb, struct Qdisc *sch, in drr_classify() argument
306 struct drr_sched *q = qdisc_priv(sch); in drr_classify()
312 if (TC_H_MAJ(skb->priority ^ sch->handle) == 0) { in drr_classify()
313 cl = drr_find_class(sch, skb->priority); in drr_classify()
335 cl = drr_find_class(sch, res.classid); in drr_classify()
341 static int drr_enqueue(struct sk_buff *skb, struct Qdisc *sch, in drr_enqueue() argument
345 struct drr_sched *q = qdisc_priv(sch); in drr_enqueue()
350 cl = drr_classify(skb, sch, &err); in drr_enqueue()
353 qdisc_qstats_drop(sch); in drr_enqueue()
363 qdisc_qstats_drop(sch); in drr_enqueue()
373 sch->qstats.backlog += len; in drr_enqueue()
374 sch->q.qlen++; in drr_enqueue()
378 static struct sk_buff *drr_dequeue(struct Qdisc *sch) in drr_dequeue() argument
380 struct drr_sched *q = qdisc_priv(sch); in drr_dequeue()
405 qdisc_bstats_update(sch, skb); in drr_dequeue()
406 qdisc_qstats_backlog_dec(sch, skb); in drr_dequeue()
407 sch->q.qlen--; in drr_dequeue()
418 static int drr_init_qdisc(struct Qdisc *sch, struct nlattr *opt, in drr_init_qdisc() argument
421 struct drr_sched *q = qdisc_priv(sch); in drr_init_qdisc()
424 err = tcf_block_get(&q->block, &q->filter_list, sch, extack); in drr_init_qdisc()
434 static void drr_reset_qdisc(struct Qdisc *sch) in drr_reset_qdisc() argument
436 struct drr_sched *q = qdisc_priv(sch); in drr_reset_qdisc()
449 static void drr_destroy_qdisc(struct Qdisc *sch) in drr_destroy_qdisc() argument
451 struct drr_sched *q = qdisc_priv(sch); in drr_destroy_qdisc()
461 drr_destroy_class(sch, cl); in drr_destroy_qdisc()