Lines Matching refs:sch

879 qdisc_peek_len(struct Qdisc *sch)  in qdisc_peek_len()  argument
884 skb = sch->ops->peek(sch); in qdisc_peek_len()
886 qdisc_warn_nonwc("qdisc_peek_len", sch); in qdisc_peek_len()
895 hfsc_purge_queue(struct Qdisc *sch, struct hfsc_class *cl) in hfsc_purge_queue() argument
920 hfsc_find_class(u32 classid, struct Qdisc *sch) in hfsc_find_class() argument
922 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_find_class()
969 hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in hfsc_change_class() argument
972 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_class()
1017 spinlock_t *lock = qdisc_root_sleeping_lock(sch); in hfsc_change_class()
1027 sch_tree_lock(sch); in hfsc_change_class()
1041 sch_tree_unlock(sch); in hfsc_change_class()
1051 parent = hfsc_find_class(parentid, sch); in hfsc_change_class()
1056 if (classid == 0 || TC_H_MAJ(classid ^ sch->handle) != 0) in hfsc_change_class()
1058 if (hfsc_find_class(classid, sch)) in hfsc_change_class()
1070 qdisc_root_sleeping_lock(sch), in hfsc_change_class()
1089 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in hfsc_change_class()
1097 sch_tree_lock(sch); in hfsc_change_class()
1101 hfsc_purge_queue(sch, parent); in hfsc_change_class()
1104 sch_tree_unlock(sch); in hfsc_change_class()
1106 qdisc_class_hash_grow(sch, &q->clhash); in hfsc_change_class()
1113 hfsc_destroy_class(struct Qdisc *sch, struct hfsc_class *cl) in hfsc_destroy_class() argument
1115 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_destroy_class()
1125 hfsc_delete_class(struct Qdisc *sch, unsigned long arg) in hfsc_delete_class() argument
1127 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_delete_class()
1133 sch_tree_lock(sch); in hfsc_delete_class()
1138 hfsc_purge_queue(sch, cl); in hfsc_delete_class()
1147 sch_tree_unlock(sch); in hfsc_delete_class()
1152 hfsc_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in hfsc_classify() argument
1154 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_classify()
1160 if (TC_H_MAJ(skb->priority ^ sch->handle) == 0 && in hfsc_classify()
1161 (cl = hfsc_find_class(skb->priority, sch)) != NULL) in hfsc_classify()
1180 cl = hfsc_find_class(res.classid, sch); in hfsc_classify()
1196 cl = hfsc_find_class(TC_H_MAKE(TC_H_MAJ(sch->handle), q->defcls), sch); in hfsc_classify()
1204 hfsc_graft_class(struct Qdisc *sch, unsigned long arg, struct Qdisc *new, in hfsc_graft_class() argument
1212 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_graft_class()
1218 sch_tree_lock(sch); in hfsc_graft_class()
1219 hfsc_purge_queue(sch, cl); in hfsc_graft_class()
1222 sch_tree_unlock(sch); in hfsc_graft_class()
1227 hfsc_class_leaf(struct Qdisc *sch, unsigned long arg) in hfsc_class_leaf() argument
1238 hfsc_qlen_notify(struct Qdisc *sch, unsigned long arg) in hfsc_qlen_notify() argument
1249 hfsc_get_class(struct Qdisc *sch, u32 classid) in hfsc_get_class() argument
1251 struct hfsc_class *cl = hfsc_find_class(classid, sch); in hfsc_get_class()
1260 hfsc_put_class(struct Qdisc *sch, unsigned long arg) in hfsc_put_class() argument
1265 hfsc_destroy_class(sch, cl); in hfsc_put_class()
1269 hfsc_bind_tcf(struct Qdisc *sch, unsigned long parent, u32 classid) in hfsc_bind_tcf() argument
1272 struct hfsc_class *cl = hfsc_find_class(classid, sch); in hfsc_bind_tcf()
1284 hfsc_unbind_tcf(struct Qdisc *sch, unsigned long arg) in hfsc_unbind_tcf() argument
1292 hfsc_tcf_chain(struct Qdisc *sch, unsigned long arg) in hfsc_tcf_chain() argument
1294 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_tcf_chain()
1342 hfsc_dump_class(struct Qdisc *sch, unsigned long arg, struct sk_buff *skb, in hfsc_dump_class() argument
1367 hfsc_dump_class_stats(struct Qdisc *sch, unsigned long arg, in hfsc_dump_class_stats() argument
1390 hfsc_walk(struct Qdisc *sch, struct qdisc_walker *arg) in hfsc_walk() argument
1392 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_walk()
1406 if (arg->fn(sch, (unsigned long)cl, arg) < 0) { in hfsc_walk()
1416 hfsc_schedule_watchdog(struct Qdisc *sch) in hfsc_schedule_watchdog() argument
1418 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_schedule_watchdog()
1434 hfsc_init_qdisc(struct Qdisc *sch, struct nlattr *opt) in hfsc_init_qdisc() argument
1436 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_init_qdisc()
1451 q->root.cl_common.classid = sch->handle; in hfsc_init_qdisc()
1454 q->root.qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_init_qdisc()
1455 sch->handle); in hfsc_init_qdisc()
1463 qdisc_class_hash_grow(sch, &q->clhash); in hfsc_init_qdisc()
1465 qdisc_watchdog_init(&q->watchdog, sch); in hfsc_init_qdisc()
1471 hfsc_change_qdisc(struct Qdisc *sch, struct nlattr *opt) in hfsc_change_qdisc() argument
1473 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_qdisc()
1480 sch_tree_lock(sch); in hfsc_change_qdisc()
1482 sch_tree_unlock(sch); in hfsc_change_qdisc()
1522 hfsc_reset_qdisc(struct Qdisc *sch) in hfsc_reset_qdisc() argument
1524 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_reset_qdisc()
1535 sch->q.qlen = 0; in hfsc_reset_qdisc()
1539 hfsc_destroy_qdisc(struct Qdisc *sch) in hfsc_destroy_qdisc() argument
1541 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_destroy_qdisc()
1553 hfsc_destroy_class(sch, cl); in hfsc_destroy_qdisc()
1560 hfsc_dump_qdisc(struct Qdisc *sch, struct sk_buff *skb) in hfsc_dump_qdisc() argument
1562 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_dump_qdisc()
1568 sch->qstats.backlog = 0; in hfsc_dump_qdisc()
1571 sch->qstats.backlog += cl->qdisc->qstats.backlog; in hfsc_dump_qdisc()
1585 hfsc_enqueue(struct sk_buff *skb, struct Qdisc *sch) in hfsc_enqueue() argument
1590 cl = hfsc_classify(skb, sch, &err); in hfsc_enqueue()
1593 qdisc_qstats_drop(sch); in hfsc_enqueue()
1602 qdisc_qstats_drop(sch); in hfsc_enqueue()
1610 sch->q.qlen++; in hfsc_enqueue()
1616 hfsc_dequeue(struct Qdisc *sch) in hfsc_dequeue() argument
1618 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_dequeue()
1625 if (sch->q.qlen == 0) in hfsc_dequeue()
1645 qdisc_qstats_overlimit(sch); in hfsc_dequeue()
1646 hfsc_schedule_watchdog(sch); in hfsc_dequeue()
1676 qdisc_unthrottled(sch); in hfsc_dequeue()
1677 qdisc_bstats_update(sch, skb); in hfsc_dequeue()
1678 sch->q.qlen--; in hfsc_dequeue()
1684 hfsc_drop(struct Qdisc *sch) in hfsc_drop() argument
1686 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_drop()
1700 qdisc_qstats_drop(sch); in hfsc_drop()
1701 sch->q.qlen--; in hfsc_drop()