Lines Matching refs:sch
217 cbq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in cbq_classify() argument
219 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_classify()
230 if (TC_H_MAJ(prio ^ sch->handle) == 0 && in cbq_classify()
369 cbq_enqueue(struct sk_buff *skb, struct Qdisc *sch) in cbq_enqueue() argument
371 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_enqueue()
373 struct cbq_class *cl = cbq_classify(skb, sch, &ret); in cbq_enqueue()
380 qdisc_qstats_drop(sch); in cbq_enqueue()
386 cl->q->__parent = sch; in cbq_enqueue()
390 sch->q.qlen++; in cbq_enqueue()
398 qdisc_qstats_drop(sch); in cbq_enqueue()
591 struct Qdisc *sch = q->watchdog.qdisc; in cbq_undelay() local
623 qdisc_unthrottled(sch); in cbq_undelay()
624 __netif_schedule(qdisc_root(sch)); in cbq_undelay()
631 struct Qdisc *sch = child->__parent; in cbq_reshape_fail() local
632 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_reshape_fail()
643 cl->q->__parent = sch; in cbq_reshape_fail()
647 sch->q.qlen++; in cbq_reshape_fail()
653 qdisc_qstats_drop(sch); in cbq_reshape_fail()
657 qdisc_qstats_drop(sch); in cbq_reshape_fail()
822 cbq_dequeue_prio(struct Qdisc *sch, int prio) in cbq_dequeue_prio() argument
824 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_dequeue_prio()
925 cbq_dequeue_1(struct Qdisc *sch) in cbq_dequeue_1() argument
927 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_dequeue_1()
935 skb = cbq_dequeue_prio(sch, prio); in cbq_dequeue_1()
943 cbq_dequeue(struct Qdisc *sch) in cbq_dequeue() argument
946 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_dequeue()
959 skb = cbq_dequeue_1(sch); in cbq_dequeue()
961 qdisc_bstats_update(sch, skb); in cbq_dequeue()
962 sch->q.qlen--; in cbq_dequeue()
963 qdisc_unthrottled(sch); in cbq_dequeue()
997 if (sch->q.qlen) { in cbq_dequeue()
998 qdisc_qstats_overlimit(sch); in cbq_dequeue()
1169 static unsigned int cbq_drop(struct Qdisc *sch) in cbq_drop() argument
1171 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_drop()
1184 sch->q.qlen--; in cbq_drop()
1195 cbq_reset(struct Qdisc *sch) in cbq_reset() argument
1197 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_reset()
1225 sch->q.qlen = 0; in cbq_reset()
1343 static int cbq_init(struct Qdisc *sch, struct nlattr *opt) in cbq_init() argument
1345 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_init()
1368 q->link.common.classid = sch->handle; in cbq_init()
1369 q->link.qdisc = sch; in cbq_init()
1370 q->link.q = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in cbq_init()
1371 sch->handle); in cbq_init()
1380 q->link.allot = psched_mtu(qdisc_dev(sch)); in cbq_init()
1388 qdisc_watchdog_init(&q->watchdog, sch); in cbq_init()
1538 static int cbq_dump(struct Qdisc *sch, struct sk_buff *skb) in cbq_dump() argument
1540 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_dump()
1556 cbq_dump_stats(struct Qdisc *sch, struct gnet_dump *d) in cbq_dump_stats() argument
1558 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_dump_stats()
1565 cbq_dump_class(struct Qdisc *sch, unsigned long arg, in cbq_dump_class() argument
1591 cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg, in cbq_dump_class_stats() argument
1594 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_dump_class_stats()
1611 static int cbq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new, in cbq_graft() argument
1617 new = qdisc_create_dflt(sch->dev_queue, in cbq_graft()
1628 *old = qdisc_replace(sch, new, &cl->q); in cbq_graft()
1632 static struct Qdisc *cbq_leaf(struct Qdisc *sch, unsigned long arg) in cbq_leaf() argument
1639 static void cbq_qlen_notify(struct Qdisc *sch, unsigned long arg) in cbq_qlen_notify() argument
1647 static unsigned long cbq_get(struct Qdisc *sch, u32 classid) in cbq_get() argument
1649 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_get()
1659 static void cbq_destroy_class(struct Qdisc *sch, struct cbq_class *cl) in cbq_destroy_class() argument
1661 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_destroy_class()
1673 static void cbq_destroy(struct Qdisc *sch) in cbq_destroy() argument
1675 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_destroy()
1695 cbq_destroy_class(sch, cl); in cbq_destroy()
1700 static void cbq_put(struct Qdisc *sch, unsigned long arg) in cbq_put() argument
1706 spinlock_t *root_lock = qdisc_root_sleeping_lock(sch); in cbq_put()
1707 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_put()
1715 cbq_destroy_class(sch, cl); in cbq_put()
1720 cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **tca, in cbq_change_class() argument
1724 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_change_class()
1758 qdisc_root_sleeping_lock(sch), in cbq_change_class()
1767 sch_tree_lock(sch); in cbq_change_class()
1799 sch_tree_unlock(sch); in cbq_change_class()
1817 if (TC_H_MAJ(classid ^ sch->handle) || in cbq_change_class()
1822 classid = TC_H_MAKE(sch->handle, 0x8000); in cbq_change_class()
1851 qdisc_root_sleeping_lock(sch), in cbq_change_class()
1862 cl->q = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, classid); in cbq_change_class()
1867 cl->qdisc = sch; in cbq_change_class()
1872 sch_tree_lock(sch); in cbq_change_class()
1896 sch_tree_unlock(sch); in cbq_change_class()
1898 qdisc_class_hash_grow(sch, &q->clhash); in cbq_change_class()
1908 static int cbq_delete(struct Qdisc *sch, unsigned long arg) in cbq_delete() argument
1910 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_delete()
1917 sch_tree_lock(sch); in cbq_delete()
1944 sch_tree_unlock(sch); in cbq_delete()
1955 static struct tcf_proto __rcu **cbq_find_tcf(struct Qdisc *sch, in cbq_find_tcf() argument
1958 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_find_tcf()
1967 static unsigned long cbq_bind_filter(struct Qdisc *sch, unsigned long parent, in cbq_bind_filter() argument
1970 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_bind_filter()
1983 static void cbq_unbind_filter(struct Qdisc *sch, unsigned long arg) in cbq_unbind_filter() argument
1990 static void cbq_walk(struct Qdisc *sch, struct qdisc_walker *arg) in cbq_walk() argument
1992 struct cbq_sched_data *q = qdisc_priv(sch); in cbq_walk()
2005 if (arg->fn(sch, (unsigned long)cl, arg) < 0) { in cbq_walk()