Home
last modified time | relevance | path

Searched refs:qdisc (Results 1 – 25 of 27) sorted by relevance

12

/net/sched/
Dsch_generic.c576 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 …]
Dsch_mq.c73 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 …]
Dsch_mqprio.c230 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 …]
Dsch_cbs.c84 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 …]
Dsch_drr.c26 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 …]
Dsch_ets.c41 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 …]
Dsch_tbf.c110 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 …]
Dsch_multiq.c63 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()
Dsch_qfq.c138 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 …]
Dsch_red.c48 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 …]
Dsch_sfb.c53 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 …]
Dsch_hfsc.c126 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 …]
Dsch_prio.c72 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()
Dsch_netem.c81 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 …]
Dsch_api.c304 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 …]
Dsch_skbprio.c73 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()
Dsch_cbq.c94 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 …]
Dsch_htb.c1032 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 …]
Dsch_teql.c99 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()
Dsch_taprio.c1735 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()
Dsch_etf.c441 if (q->watchdog.qdisc == sch) in etf_reset()
457 if (q->watchdog.qdisc == sch) in etf_destroy()
DKconfig389 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
Dcls_api.c1047 *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/
Dcaif_dev.c194 sch = rcu_dereference_bh(txq->qdisc); in transmit()
/net/core/
Drtnetlink.c1707 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()

12