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
921 hfsc_find_class(u32 classid, struct Qdisc *sch) in hfsc_find_class() argument
923 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_find_class()
970 hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, in hfsc_change_class() argument
973 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_class()
1018 spinlock_t *lock = qdisc_root_sleeping_lock(sch); in hfsc_change_class()
1028 sch_tree_lock(sch); in hfsc_change_class()
1042 sch_tree_unlock(sch); in hfsc_change_class()
1052 parent = hfsc_find_class(parentid, sch); in hfsc_change_class()
1057 if (classid == 0 || TC_H_MAJ(classid ^ sch->handle) != 0) in hfsc_change_class()
1059 if (hfsc_find_class(classid, sch)) in hfsc_change_class()
1071 qdisc_root_sleeping_lock(sch), in hfsc_change_class()
1090 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in hfsc_change_class()
1098 sch_tree_lock(sch); in hfsc_change_class()
1102 hfsc_purge_queue(sch, parent); in hfsc_change_class()
1105 sch_tree_unlock(sch); in hfsc_change_class()
1107 qdisc_class_hash_grow(sch, &q->clhash); in hfsc_change_class()
1114 hfsc_destroy_class(struct Qdisc *sch, struct hfsc_class *cl) in hfsc_destroy_class() argument
1116 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_destroy_class()
1126 hfsc_delete_class(struct Qdisc *sch, unsigned long arg) in hfsc_delete_class() argument
1128 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_delete_class()
1134 sch_tree_lock(sch); in hfsc_delete_class()
1139 hfsc_purge_queue(sch, cl); in hfsc_delete_class()
1148 sch_tree_unlock(sch); in hfsc_delete_class()
1153 hfsc_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr) in hfsc_classify() argument
1155 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_classify()
1161 if (TC_H_MAJ(skb->priority ^ sch->handle) == 0 && in hfsc_classify()
1162 (cl = hfsc_find_class(skb->priority, sch)) != NULL) in hfsc_classify()
1181 cl = hfsc_find_class(res.classid, sch); in hfsc_classify()
1197 cl = hfsc_find_class(TC_H_MAKE(TC_H_MAJ(sch->handle), q->defcls), sch); in hfsc_classify()
1205 hfsc_graft_class(struct Qdisc *sch, unsigned long arg, struct Qdisc *new, in hfsc_graft_class() argument
1213 new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_graft_class()
1219 *old = qdisc_replace(sch, new, &cl->qdisc); in hfsc_graft_class()
1224 hfsc_class_leaf(struct Qdisc *sch, unsigned long arg) in hfsc_class_leaf() argument
1235 hfsc_qlen_notify(struct Qdisc *sch, unsigned long arg) in hfsc_qlen_notify() argument
1246 hfsc_get_class(struct Qdisc *sch, u32 classid) in hfsc_get_class() argument
1248 struct hfsc_class *cl = hfsc_find_class(classid, sch); in hfsc_get_class()
1257 hfsc_put_class(struct Qdisc *sch, unsigned long arg) in hfsc_put_class() argument
1262 hfsc_destroy_class(sch, cl); in hfsc_put_class()
1266 hfsc_bind_tcf(struct Qdisc *sch, unsigned long parent, u32 classid) in hfsc_bind_tcf() argument
1269 struct hfsc_class *cl = hfsc_find_class(classid, sch); in hfsc_bind_tcf()
1281 hfsc_unbind_tcf(struct Qdisc *sch, unsigned long arg) in hfsc_unbind_tcf() argument
1289 hfsc_tcf_chain(struct Qdisc *sch, unsigned long arg) in hfsc_tcf_chain() argument
1291 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_tcf_chain()
1339 hfsc_dump_class(struct Qdisc *sch, unsigned long arg, struct sk_buff *skb, in hfsc_dump_class() argument
1364 hfsc_dump_class_stats(struct Qdisc *sch, unsigned long arg, in hfsc_dump_class_stats() argument
1387 hfsc_walk(struct Qdisc *sch, struct qdisc_walker *arg) in hfsc_walk() argument
1389 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_walk()
1403 if (arg->fn(sch, (unsigned long)cl, arg) < 0) { in hfsc_walk()
1413 hfsc_schedule_watchdog(struct Qdisc *sch) in hfsc_schedule_watchdog() argument
1415 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_schedule_watchdog()
1431 hfsc_init_qdisc(struct Qdisc *sch, struct nlattr *opt) in hfsc_init_qdisc() argument
1433 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_init_qdisc()
1448 q->root.cl_common.classid = sch->handle; in hfsc_init_qdisc()
1451 q->root.qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_init_qdisc()
1452 sch->handle); in hfsc_init_qdisc()
1460 qdisc_class_hash_grow(sch, &q->clhash); in hfsc_init_qdisc()
1462 qdisc_watchdog_init(&q->watchdog, sch); in hfsc_init_qdisc()
1468 hfsc_change_qdisc(struct Qdisc *sch, struct nlattr *opt) in hfsc_change_qdisc() argument
1470 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_qdisc()
1477 sch_tree_lock(sch); in hfsc_change_qdisc()
1479 sch_tree_unlock(sch); in hfsc_change_qdisc()
1519 hfsc_reset_qdisc(struct Qdisc *sch) in hfsc_reset_qdisc() argument
1521 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_reset_qdisc()
1532 sch->q.qlen = 0; in hfsc_reset_qdisc()
1536 hfsc_destroy_qdisc(struct Qdisc *sch) in hfsc_destroy_qdisc() argument
1538 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_destroy_qdisc()
1550 hfsc_destroy_class(sch, cl); in hfsc_destroy_qdisc()
1557 hfsc_dump_qdisc(struct Qdisc *sch, struct sk_buff *skb) in hfsc_dump_qdisc() argument
1559 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_dump_qdisc()
1565 sch->qstats.backlog = 0; in hfsc_dump_qdisc()
1568 sch->qstats.backlog += cl->qdisc->qstats.backlog; in hfsc_dump_qdisc()
1582 hfsc_enqueue(struct sk_buff *skb, struct Qdisc *sch) in hfsc_enqueue() argument
1587 cl = hfsc_classify(skb, sch, &err); in hfsc_enqueue()
1590 qdisc_qstats_drop(sch); in hfsc_enqueue()
1599 qdisc_qstats_drop(sch); in hfsc_enqueue()
1607 sch->q.qlen++; in hfsc_enqueue()
1613 hfsc_dequeue(struct Qdisc *sch) in hfsc_dequeue() argument
1615 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_dequeue()
1622 if (sch->q.qlen == 0) in hfsc_dequeue()
1642 qdisc_qstats_overlimit(sch); in hfsc_dequeue()
1643 hfsc_schedule_watchdog(sch); in hfsc_dequeue()
1673 qdisc_unthrottled(sch); in hfsc_dequeue()
1674 qdisc_bstats_update(sch, skb); in hfsc_dequeue()
1675 sch->q.qlen--; in hfsc_dequeue()
1681 hfsc_drop(struct Qdisc *sch) in hfsc_drop() argument
1683 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_drop()
1697 qdisc_qstats_drop(sch); in hfsc_drop()
1698 sch->q.qlen--; in hfsc_drop()