Lines Matching refs:q

218 eltree_get_mindl(struct hfsc_sched *q, u64 cur_time)  in eltree_get_mindl()  argument
223 for (n = rb_first(&q->eligible); n != NULL; n = rb_next(n)) { in eltree_get_mindl()
235 eltree_get_minel(struct hfsc_sched *q) in eltree_get_minel() argument
239 n = rb_first(&q->eligible); in eltree_get_minel()
748 if (cl->qdisc->q.qlen == 0 && cl->cl_flags & HFSC_FSC) in update_vf()
865 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_find_class() local
868 clc = qdisc_class_find(&q->clhash, classid); in hfsc_find_class()
924 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_class() local
991 if (cl->qdisc->q.qlen != 0) { in hfsc_change_class()
1016 parent = &q->root; in hfsc_change_class()
1059 cl->sched = q; in hfsc_change_class()
1073 if (!(parent->cl_flags & HFSC_FSC) && parent != &q->root) { in hfsc_change_class()
1078 qdisc_class_hash_insert(&q->clhash, &cl->cl_common); in hfsc_change_class()
1085 qdisc_class_hash_grow(sch, &q->clhash); in hfsc_change_class()
1094 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_destroy_class() local
1099 if (cl != &q->root) in hfsc_destroy_class()
1107 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_delete_class() local
1111 cl == &q->root) { in hfsc_delete_class()
1122 qdisc_class_hash_remove(&q->clhash, &cl->cl_common); in hfsc_delete_class()
1133 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_classify() local
1145 head = &q->root; in hfsc_classify()
1146 tcf = rcu_dereference_bh(q->root.filter_list); in hfsc_classify()
1177 cl = hfsc_find_class(TC_H_MAKE(TC_H_MAJ(sch->handle), q->defcls), sch); in hfsc_classify()
1259 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_tcf_block() local
1263 cl = &q->root; in hfsc_tcf_block()
1358 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_walk() local
1365 for (i = 0; i < q->clhash.hashsize; i++) { in hfsc_walk()
1366 hlist_for_each_entry(cl, &q->clhash.hash[i], in hfsc_walk()
1377 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_schedule_watchdog() local
1381 cl = eltree_get_minel(q); in hfsc_schedule_watchdog()
1384 if (q->root.cl_cfmin != 0) { in hfsc_schedule_watchdog()
1385 if (next_time == 0 || next_time > q->root.cl_cfmin) in hfsc_schedule_watchdog()
1386 next_time = q->root.cl_cfmin; in hfsc_schedule_watchdog()
1389 qdisc_watchdog_schedule(&q->watchdog, next_time); in hfsc_schedule_watchdog()
1396 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_init_qdisc() local
1400 qdisc_watchdog_init(&q->watchdog, sch); in hfsc_init_qdisc()
1406 q->defcls = qopt->defcls; in hfsc_init_qdisc()
1407 err = qdisc_class_hash_init(&q->clhash); in hfsc_init_qdisc()
1410 q->eligible = RB_ROOT; in hfsc_init_qdisc()
1412 err = tcf_block_get(&q->root.block, &q->root.filter_list, sch, extack); in hfsc_init_qdisc()
1416 gnet_stats_basic_sync_init(&q->root.bstats); in hfsc_init_qdisc()
1417 q->root.cl_common.classid = sch->handle; in hfsc_init_qdisc()
1418 q->root.sched = q; in hfsc_init_qdisc()
1419 q->root.qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_init_qdisc()
1421 if (q->root.qdisc == NULL) in hfsc_init_qdisc()
1422 q->root.qdisc = &noop_qdisc; in hfsc_init_qdisc()
1424 qdisc_hash_add(q->root.qdisc, true); in hfsc_init_qdisc()
1425 INIT_LIST_HEAD(&q->root.children); in hfsc_init_qdisc()
1426 q->root.vt_tree = RB_ROOT; in hfsc_init_qdisc()
1427 q->root.cf_tree = RB_ROOT; in hfsc_init_qdisc()
1429 qdisc_class_hash_insert(&q->clhash, &q->root.cl_common); in hfsc_init_qdisc()
1430 qdisc_class_hash_grow(sch, &q->clhash); in hfsc_init_qdisc()
1439 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_change_qdisc() local
1447 q->defcls = qopt->defcls; in hfsc_change_qdisc()
1486 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_reset_qdisc() local
1490 for (i = 0; i < q->clhash.hashsize; i++) { in hfsc_reset_qdisc()
1491 hlist_for_each_entry(cl, &q->clhash.hash[i], cl_common.hnode) in hfsc_reset_qdisc()
1494 q->eligible = RB_ROOT; in hfsc_reset_qdisc()
1495 qdisc_watchdog_cancel(&q->watchdog); in hfsc_reset_qdisc()
1501 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_destroy_qdisc() local
1506 for (i = 0; i < q->clhash.hashsize; i++) { in hfsc_destroy_qdisc()
1507 hlist_for_each_entry(cl, &q->clhash.hash[i], cl_common.hnode) { in hfsc_destroy_qdisc()
1512 for (i = 0; i < q->clhash.hashsize; i++) { in hfsc_destroy_qdisc()
1513 hlist_for_each_entry_safe(cl, next, &q->clhash.hash[i], in hfsc_destroy_qdisc()
1517 qdisc_class_hash_destroy(&q->clhash); in hfsc_destroy_qdisc()
1518 qdisc_watchdog_cancel(&q->watchdog); in hfsc_destroy_qdisc()
1524 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_dump_qdisc() local
1528 qopt.defcls = q->defcls; in hfsc_dump_qdisc()
1554 first = !cl->qdisc->q.qlen; in hfsc_enqueue()
1580 sch->q.qlen++; in hfsc_enqueue()
1588 struct hfsc_sched *q = qdisc_priv(sch); in hfsc_dequeue() local
1595 if (sch->q.qlen == 0) in hfsc_dequeue()
1605 cl = eltree_get_mindl(q, cur_time); in hfsc_dequeue()
1613 cl = vttree_get_minvt(&q->root, cur_time); in hfsc_dequeue()
1633 if (cl->qdisc->q.qlen != 0) { in hfsc_dequeue()
1648 sch->q.qlen--; in hfsc_dequeue()