/net/sched/ |
D | sch_generic.c | 576 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument 583 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument 598 RCU_POINTER_INITIALIZER(qdisc, &noop_qdisc), 626 static int noqueue_init(struct Qdisc *qdisc, struct nlattr *opt, in noqueue_init() argument 632 qdisc->enqueue = NULL; in noqueue_init() 670 static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in pfifo_fast_enqueue() argument 674 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); in pfifo_fast_enqueue() 682 if (qdisc_is_percpu_stats(qdisc)) in pfifo_fast_enqueue() 683 return qdisc_drop_cpu(skb, qdisc, to_free); in pfifo_fast_enqueue() 685 return qdisc_drop(skb, qdisc, to_free); in pfifo_fast_enqueue() [all …]
|
D | sch_mq.c | 73 struct Qdisc *qdisc; in mq_init() local 90 qdisc = qdisc_create_dflt(dev_queue, get_default_qdisc_ops(dev, ntx), in mq_init() 94 if (!qdisc) in mq_init() 96 priv->qdiscs[ntx] = qdisc; in mq_init() 97 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mq_init() 110 struct Qdisc *qdisc, *old; in mq_attach() local 114 qdisc = priv->qdiscs[ntx]; in mq_attach() 115 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mq_attach() 120 qdisc_hash_add(qdisc, false); in mq_attach() 132 struct Qdisc *qdisc; in mq_change_real_num_tx() local [all …]
|
D | sch_mqprio.c | 230 struct Qdisc *qdisc; in mqprio_init() local 270 qdisc = qdisc_create_dflt(dev_queue, in mqprio_init() 274 if (!qdisc) in mqprio_init() 277 priv->qdiscs[i] = qdisc; in mqprio_init() 278 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mqprio_init() 335 struct Qdisc *qdisc, *old; in mqprio_attach() local 340 qdisc = priv->qdiscs[ntx]; in mqprio_attach() 341 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mqprio_attach() 345 qdisc_hash_add(qdisc, false); in mqprio_attach() 355 struct Qdisc *qdisc; in mqprio_change_real_num_tx() local [all …]
|
D | sch_cbs.c | 84 struct Qdisc *qdisc; member 109 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_offload() local 111 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload() 118 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_soft() local 128 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_soft() 179 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_soft() local 207 skb = cbs_child_dequeue(sch, qdisc); in cbs_dequeue_soft() 234 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_offload() local 236 return cbs_child_dequeue(sch, qdisc); in cbs_dequeue_offload() 347 qdev = qdisc_dev(q->qdisc); in cbs_dev_notifier() [all …]
|
D | sch_drr.c | 26 struct Qdisc *qdisc; member 111 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class() 114 if (cl->qdisc == NULL) in drr_change_class() 115 cl->qdisc = &noop_qdisc; in drr_change_class() 117 qdisc_hash_add(cl->qdisc, true); in drr_change_class() 126 qdisc_put(cl->qdisc); in drr_change_class() 145 qdisc_put(cl->qdisc); in drr_destroy_class() 160 qdisc_purge_queue(cl->qdisc); in drr_delete_class() 218 *old = qdisc_replace(sch, new, &cl->qdisc); in drr_graft_class() 226 return cl->qdisc; in drr_class_leaf() [all …]
|
D | sch_ets.c | 41 struct Qdisc *qdisc; member 262 *old = qdisc_replace(sch, new, &cl->qdisc); in ets_class_graft() 271 return cl->qdisc; in ets_class_leaf() 306 tcm->tcm_info = cl->qdisc->handle; in ets_class_dump() 326 struct Qdisc *cl_q = cl->qdisc; in ets_class_dump_stats() 435 first = !cl->qdisc->q.qlen; in ets_qdisc_enqueue() 436 err = qdisc_enqueue(skb, cl->qdisc, to_free); in ets_qdisc_enqueue() 475 skb = qdisc_dequeue_peeked(cl->qdisc); in ets_qdisc_dequeue() 484 skb = cl->qdisc->ops->peek(cl->qdisc); in ets_qdisc_dequeue() 486 qdisc_warn_nonwc(__func__, cl->qdisc); in ets_qdisc_dequeue() [all …]
|
D | sch_tbf.c | 110 struct Qdisc *qdisc; /* Inner qdisc, default - bfifo queue */ member 209 ret = qdisc_enqueue(segs, q->qdisc, to_free); in tbf_segment() 237 ret = qdisc_enqueue(skb, q->qdisc, to_free); in tbf_enqueue() 259 skb = q->qdisc->ops->peek(q->qdisc); in tbf_dequeue() 282 skb = qdisc_dequeue_peeked(q->qdisc); in tbf_dequeue() 318 qdisc_reset(q->qdisc); in tbf_reset() 416 if (q->qdisc != &noop_qdisc) { in tbf_change() 417 err = fifo_set_limit(q->qdisc, qopt->limit); in tbf_change() 434 qdisc_tree_flush_backlog(q->qdisc); in tbf_change() 435 old = q->qdisc; in tbf_change() [all …]
|
D | sch_multiq.c | 63 struct Qdisc *qdisc; in multiq_enqueue() local 66 qdisc = multiq_classify(skb, sch, &ret); in multiq_enqueue() 68 if (qdisc == NULL) { in multiq_enqueue() 77 ret = qdisc_enqueue(skb, qdisc, to_free); in multiq_enqueue() 90 struct Qdisc *qdisc; in multiq_dequeue() local 105 qdisc = q->queues[q->curband]; in multiq_dequeue() 106 skb = qdisc->dequeue(qdisc); in multiq_dequeue() 122 struct Qdisc *qdisc; in multiq_peek() local 137 qdisc = q->queues[curband]; in multiq_peek() 138 skb = qdisc->ops->peek(qdisc); in multiq_peek()
|
D | sch_qfq.c | 138 struct Qdisc *qdisc; member 324 if (cl->qdisc->q.qlen > 0) { /* adding an active class */ in qfq_add_to_agg() 373 if (cl->qdisc->q.qlen > 0) /* class is active */ in qfq_deact_rm_from_agg() 481 cl->qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in qfq_change_class() 483 if (cl->qdisc == NULL) in qfq_change_class() 484 cl->qdisc = &noop_qdisc; in qfq_change_class() 496 if (cl->qdisc != &noop_qdisc) in qfq_change_class() 497 qdisc_hash_add(cl->qdisc, true); in qfq_change_class() 525 qdisc_put(cl->qdisc); in qfq_change_class() 536 qdisc_put(cl->qdisc); in qfq_destroy_class() [all …]
|
D | sch_red.c | 48 struct Qdisc *qdisc; member 74 struct Qdisc *child = q->qdisc; in red_enqueue() 154 struct Qdisc *child = q->qdisc; in red_dequeue() 171 struct Qdisc *child = q->qdisc; in red_peek() 180 qdisc_reset(q->qdisc); in red_reset() 221 qdisc_put(q->qdisc); in red_destroy() 286 qdisc_tree_flush_backlog(q->qdisc); in __red_change() 287 old_child = q->qdisc; in __red_change() 288 q->qdisc = child; in __red_change() 302 if (!q->qdisc->q.qlen) in __red_change() [all …]
|
D | sch_sfb.c | 53 struct Qdisc *qdisc; member 285 struct Qdisc *child = q->qdisc; in sfb_enqueue() 429 struct Qdisc *child = q->qdisc; in sfb_dequeue() 432 skb = child->dequeue(q->qdisc); in sfb_dequeue() 447 struct Qdisc *child = q->qdisc; in sfb_peek() 458 if (likely(q->qdisc)) in sfb_reset() 459 qdisc_reset(q->qdisc); in sfb_reset() 471 qdisc_put(q->qdisc); in sfb_destroy() 524 qdisc_purge_queue(q->qdisc); in sfb_change() 525 old = q->qdisc; in sfb_change() [all …]
|
D | sch_hfsc.c | 126 struct Qdisc *qdisc; /* leaf qdisc */ member 749 if (cl->qdisc->q.qlen == 0 && cl->cl_flags & HFSC_FSC) in update_vf() 992 if (cl->qdisc->q.qlen != 0) { in hfsc_change_class() 993 int len = qdisc_peek_len(cl->qdisc); in hfsc_change_class() 1068 cl->qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in hfsc_change_class() 1070 if (cl->qdisc == NULL) in hfsc_change_class() 1071 cl->qdisc = &noop_qdisc; in hfsc_change_class() 1073 qdisc_hash_add(cl->qdisc, true); in hfsc_change_class() 1088 qdisc_purge_queue(parent->qdisc); in hfsc_change_class() 1104 qdisc_put(cl->qdisc); in hfsc_destroy_class() [all …]
|
D | sch_prio.c | 72 struct Qdisc *qdisc; in prio_enqueue() local 75 qdisc = prio_classify(skb, sch, &ret); in prio_enqueue() 77 if (qdisc == NULL) { in prio_enqueue() 86 ret = qdisc_enqueue(skb, qdisc, to_free); in prio_enqueue() 103 struct Qdisc *qdisc = q->queues[prio]; in prio_peek() local 104 struct sk_buff *skb = qdisc->ops->peek(qdisc); in prio_peek() 117 struct Qdisc *qdisc = q->queues[prio]; in prio_dequeue() local 118 struct sk_buff *skb = qdisc_dequeue_peeked(qdisc); in prio_dequeue()
|
D | sch_netem.c | 81 struct Qdisc *qdisc; member 718 if (q->qdisc) { in netem_dequeue() 723 err = qdisc_enqueue(skb, q->qdisc, &to_free); in netem_dequeue() 736 if (q->qdisc) { in netem_dequeue() 737 skb = q->qdisc->ops->dequeue(q->qdisc); in netem_dequeue() 747 if (q->qdisc) { in netem_dequeue() 748 skb = q->qdisc->ops->dequeue(q->qdisc); in netem_dequeue() 761 if (q->qdisc) in netem_reset() 762 qdisc_reset(q->qdisc); in netem_reset() 1077 if (q->qdisc) in netem_destroy() [all …]
|
D | sch_api.c | 304 q = qdisc_match_from_root(rtnl_dereference(dev->qdisc), handle); in qdisc_lookup() 323 q = qdisc_match_from_root(rcu_dereference(dev->qdisc), handle); in qdisc_lookup_rcu() 594 void qdisc_warn_nonwc(const char *txt, struct Qdisc *qdisc) in qdisc_warn_nonwc() argument 596 if (!(qdisc->flags & TCQ_F_WARN_NONWC)) { in qdisc_warn_nonwc() 598 txt, qdisc->ops->id, qdisc->handle >> 16); in qdisc_warn_nonwc() 599 qdisc->flags |= TCQ_F_WARN_NONWC; in qdisc_warn_nonwc() 610 __netif_schedule(qdisc_root(wd->qdisc)); in qdisc_watchdog() 616 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc, in qdisc_watchdog_init_clockid() argument 621 wd->qdisc = qdisc; in qdisc_watchdog_init_clockid() 625 void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc) in qdisc_watchdog_init() argument [all …]
|
D | sch_skbprio.c | 73 struct sk_buff_head *qdisc; in skbprio_enqueue() local 81 qdisc = &q->qdiscs[prio]; in skbprio_enqueue() 83 __skb_queue_tail(qdisc, skb); in skbprio_enqueue() 106 __skb_queue_tail(qdisc, skb); in skbprio_enqueue()
|
D | sch_cbq.c | 94 struct Qdisc *qdisc; /* Ptr to CBQ discipline */ member 293 struct cbq_sched_data *q = qdisc_priv(cl->qdisc); in cbq_activate_class() 317 struct cbq_sched_data *q = qdisc_priv(this->qdisc); in cbq_deactivate_class() 396 struct cbq_sched_data *q = qdisc_priv(cl->qdisc); in cbq_overlimit() 483 struct Qdisc *sch = q->watchdog.qdisc; in cbq_undelay() 642 struct cbq_sched_data *q = qdisc_priv(cl->qdisc); in cbq_under_limit() 902 cl->quantum > 32*qdisc_dev(cl->qdisc)->mtu) { in cbq_normalize_quanta() 905 cl->quantum = qdisc_dev(cl->qdisc)->mtu/2 + 1; in cbq_normalize_quanta() 913 struct cbq_sched_data *q = qdisc_priv(cl->qdisc); in cbq_sync_defmap() 981 struct cbq_sched_data *q = qdisc_priv(this->qdisc); in cbq_unlink_class() [all …]
|
D | sch_htb.c | 1032 struct Qdisc *sch = q->watchdog.qdisc; in htb_work_func() 1122 struct Qdisc *qdisc; in htb_init() local 1124 qdisc = qdisc_create_dflt(dev_queue, &pfifo_qdisc_ops, in htb_init() 1126 if (!qdisc) { in htb_init() 1131 htb_set_lockdep_class_child(qdisc); in htb_init() 1132 q->direct_qdiscs[ntx] = qdisc; in htb_init() 1133 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in htb_init() 1179 struct Qdisc *old, *qdisc = q->direct_qdiscs[ntx]; in htb_attach_offload() local 1181 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in htb_attach_offload() 1183 qdisc_hash_add(qdisc, false); in htb_attach_offload() [all …]
|
D | sch_teql.c | 99 q = rcu_dereference_bh(dat_queue->qdisc); in teql_dequeue() 154 root_lock = qdisc_root_sleeping_lock(rtnl_dereference(txq->qdisc)); in teql_destroy() 156 qdisc_reset(rtnl_dereference(txq->qdisc)); in teql_destroy() 264 if (rcu_access_pointer(txq->qdisc) == &noop_qdisc) in teql_resolve()
|
D | sch_taprio.c | 1735 struct Qdisc *qdisc; in taprio_init() local 1738 qdisc = qdisc_create_dflt(dev_queue, in taprio_init() 1743 if (!qdisc) in taprio_init() 1747 qdisc_hash_add(qdisc, false); in taprio_init() 1749 q->qdiscs[i] = qdisc; in taprio_init() 1763 struct Qdisc *qdisc = q->qdiscs[ntx]; in taprio_attach() local 1767 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in taprio_attach() 1768 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in taprio_attach() 1770 old = dev_graft_qdisc(qdisc->dev_queue, sch); in taprio_attach()
|
D | sch_etf.c | 441 if (q->watchdog.qdisc == sch) in etf_reset() 457 if (q->watchdog.qdisc == sch) in etf_destroy()
|
D | Kconfig | 389 packets. This qdisc doesn't do anything else besides running classifiers, 391 classifiers that this qdisc holds are executed in the transmit path 392 before real enqueuing to an egress qdisc happens. 895 back onto ingress connections for qdisc priority mapping
|
D | cls_api.c | 1047 *q = rcu_dereference(dev->qdisc); in __tcf_qdisc_find() 2592 q = rtnl_dereference(dev->qdisc); in tc_dump_tfilter() 2968 q = rtnl_dereference(dev->qdisc); in tc_dump_chain()
|
/net/caif/ |
D | caif_dev.c | 194 sch = rcu_dereference_bh(txq->qdisc); in transmit()
|
/net/core/ |
D | rtnetlink.c | 1707 struct Qdisc *qdisc; in rtnl_fill_ifinfo() local 1725 qdisc = rtnl_dereference(dev->qdisc); in rtnl_fill_ifinfo() 1744 (qdisc && in rtnl_fill_ifinfo() 1745 nla_put_string(skb, IFLA_QDISC, qdisc->ops->id)) || in rtnl_fill_ifinfo()
|