Home
last modified time | relevance | path

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

123456

/Linux-v5.10/drivers/net/ethernet/netronome/nfp/abm/
Dqdisc.c16 static bool nfp_abm_qdisc_is_red(struct nfp_qdisc *qdisc) in nfp_abm_qdisc_is_red() argument
18 return qdisc->type == NFP_QDISC_RED || qdisc->type == NFP_QDISC_GRED; in nfp_abm_qdisc_is_red()
21 static bool nfp_abm_qdisc_child_valid(struct nfp_qdisc *qdisc, unsigned int id) in nfp_abm_qdisc_child_valid() argument
23 return qdisc->children[id] && in nfp_abm_qdisc_child_valid()
24 qdisc->children[id] != NFP_QDISC_UNTRACKED; in nfp_abm_qdisc_child_valid()
45 nfp_abm_stats_update_red(struct nfp_abm_link *alink, struct nfp_qdisc *qdisc, in nfp_abm_stats_update_red() argument
52 if (!qdisc->offloaded) in nfp_abm_stats_update_red()
55 for (i = 0; i < qdisc->red.num_bands; i++) { in nfp_abm_stats_update_red()
57 &qdisc->red.band[i].stats); in nfp_abm_stats_update_red()
63 &qdisc->red.band[i].xstats); in nfp_abm_stats_update_red()
[all …]
/Linux-v5.10/net/sched/
Dsch_generic.c523 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument
530 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument
545 RCU_POINTER_INITIALIZER(qdisc, &noop_qdisc),
573 static int noqueue_init(struct Qdisc *qdisc, struct nlattr *opt, in noqueue_init() argument
579 qdisc->enqueue = NULL; in noqueue_init()
617 static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in pfifo_fast_enqueue() argument
621 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); in pfifo_fast_enqueue()
629 if (qdisc_is_percpu_stats(qdisc)) in pfifo_fast_enqueue()
630 return qdisc_drop_cpu(skb, qdisc, to_free); in pfifo_fast_enqueue()
632 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()
131 struct Qdisc *qdisc; in mq_dump() local
[all …]
Dsch_mqprio.c139 struct Qdisc *qdisc; in mqprio_init() local
228 qdisc = qdisc_create_dflt(dev_queue, in mqprio_init()
232 if (!qdisc) in mqprio_init()
235 priv->qdiscs[i] = qdisc; in mqprio_init()
236 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mqprio_init()
293 struct Qdisc *qdisc, *old; in mqprio_attach() local
298 qdisc = priv->qdiscs[ntx]; in mqprio_attach()
299 old = dev_graft_qdisc(qdisc->dev_queue, qdisc); in mqprio_attach()
303 qdisc_hash_add(qdisc, false); in mqprio_attach()
389 struct Qdisc *qdisc; in mqprio_dump() local
[all …]
Dsch_cbs.c83 struct Qdisc *qdisc; member
108 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_offload() local
110 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_offload()
117 struct Qdisc *qdisc = q->qdisc; in cbs_enqueue_soft() local
127 return cbs_child_enqueue(skb, sch, qdisc, to_free); in cbs_enqueue_soft()
178 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_soft() local
206 skb = cbs_child_dequeue(sch, qdisc); in cbs_dequeue_soft()
233 struct Qdisc *qdisc = q->qdisc; in cbs_dequeue_offload() local
235 return cbs_child_dequeue(sch, qdisc); in cbs_dequeue_offload()
346 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()
159 qdisc_purge_queue(cl->qdisc); in drr_delete_class()
217 *old = qdisc_replace(sch, new, &cl->qdisc); in drr_graft_class()
225 return cl->qdisc; in drr_class_leaf()
[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()
417 if (q->qdisc != &noop_qdisc) { in tbf_change()
418 err = fifo_set_limit(q->qdisc, qopt->limit); in tbf_change()
435 qdisc_tree_flush_backlog(q->qdisc); in tbf_change()
436 qdisc_put(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_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_red.c48 struct Qdisc *qdisc; member
74 struct Qdisc *child = q->qdisc; in red_enqueue()
152 struct Qdisc *child = q->qdisc; in red_dequeue()
169 struct Qdisc *child = q->qdisc; in red_peek()
178 qdisc_reset(q->qdisc); in red_reset()
221 qdisc_put(q->qdisc); in red_destroy()
283 qdisc_tree_flush_backlog(q->qdisc); in __red_change()
284 old_child = q->qdisc; in __red_change()
285 q->qdisc = child; in __red_change()
299 if (!q->qdisc->q.qlen) in __red_change()
[all …]
/Linux-v5.10/include/net/
Dsch_generic.h120 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
122 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc()
124 refcount_inc(&qdisc->refcnt); in qdisc_refcount_inc()
131 static inline struct Qdisc *qdisc_refcount_inc_nz(struct Qdisc *qdisc) in qdisc_refcount_inc_nz() argument
133 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc_nz()
134 return qdisc; in qdisc_refcount_inc_nz()
135 if (refcount_inc_not_zero(&qdisc->refcnt)) in qdisc_refcount_inc_nz()
136 return qdisc; in qdisc_refcount_inc_nz()
140 static inline bool qdisc_is_running(struct Qdisc *qdisc) in qdisc_is_running() argument
142 if (qdisc->flags & TCQ_F_NOLOCK) in qdisc_is_running()
[all …]
/Linux-v5.10/tools/testing/selftests/drivers/net/mlxsw/
Dtc_restrictions.sh41 tc qdisc add dev $swp1 ingress_block 22 clsact
48 tc qdisc add dev $swp2 ingress_block 22 clsact
51 tc qdisc del dev $swp2 clsact
53 tc qdisc add dev $swp2 egress_block 22 clsact
58 tc qdisc add dev $swp2 egress_block 22 clsact
65 tc qdisc del dev $swp1 clsact
67 tc qdisc add dev $swp1 egress_block 22 clsact
76 tc qdisc del dev $swp2 clsact
77 tc qdisc del dev $swp1 clsact
89 tc qdisc add dev $swp1 ingress_block 22 clsact
[all …]
Dqos_headroom.sh168 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
170 tc qdisc delete dev $swp root
248 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
254 tc qdisc delete dev $swp root
258 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
260 tc qdisc delete dev $swp root
276 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
290 tc qdisc replace dev $swp root handle 1: bfifo limit 1M
298 tc qdisc replace dev $swp root handle 2: prio bands 8
303 tc qdisc delete dev $swp root
[all …]
Dsch_red_ets.sh28 tc qdisc add dev $swp3 root handle 10: $QDISC \
30 tc qdisc add dev $swp3 parent 10:8 handle 108: red \
33 tc qdisc add dev $swp3 parent 10:7 handle 107: red \
41 tc qdisc del dev $swp3 parent 10:7
42 tc qdisc del dev $swp3 parent 10:8
43 tc qdisc del dev $swp3 root
Dqos_dscp_router.sh68 tc qdisc add dev $h1 clsact
77 tc qdisc del dev $h1 clsact
84 tc qdisc add dev $h2 clsact
93 tc qdisc del dev $h2 clsact
112 tc qdisc add dev $swp1 clsact
113 tc qdisc add dev $swp2 clsact
127 tc qdisc del dev $swp2 clsact
128 tc qdisc del dev $swp1 clsact
Dqos_pfc.sh172 tc qdisc replace dev $swp1 root handle 1: \
188 tc qdisc replace dev $swp2 root handle 1: \
190 tc qdisc replace dev $swp2 parent 1:7 handle 17: \
205 tc qdisc replace dev $swp3 root handle 1: \
227 tc qdisc replace dev $swp4 root handle 1: \
279 tc qdisc del dev $swp4 root
293 tc qdisc del dev $swp3 root
305 tc qdisc del dev $swp2 parent 1:7
306 tc qdisc del dev $swp2 root
319 tc qdisc del dev $swp1 root
Dtc_flower_scale.sh15 tc qdisc add dev $h1 clsact
20 tc qdisc del dev $h1 clsact
27 tc qdisc add dev $h2 clsact
32 tc qdisc del dev $h2 clsact
/Linux-v5.10/samples/bpf/
Ddo_hbm_test.sh90 qdisc=""
138 qdisc="fq"
159 qdisc="${i#*=}"
225 if [ "$qdisc" != "" ] ; then
228 tc qdisc del dev lo root > /dev/null 2>&1
229 tc qdisc add dev lo root netem delay $netem\ms > /dev/null 2>&1
230 elif [ "$qdisc" != "" ] ; then
231 tc qdisc del dev eth0 root > /dev/null 2>&1
232 tc qdisc add dev eth0 root $qdisc > /dev/null 2>&1
400 tc qdisc del dev lo root > /dev/null 2>&1
[all …]
/Linux-v5.10/include/trace/events/
Dqdisc.h2 #define TRACE_SYSTEM qdisc
16 TP_PROTO(struct Qdisc *qdisc, const struct netdev_queue *txq,
19 TP_ARGS(qdisc, txq, packets, skb),
22 __field( struct Qdisc *, qdisc )
34 __entry->qdisc = qdisc;
39 __entry->handle = qdisc->handle;
40 __entry->parent = qdisc->parent;
/Linux-v5.10/Documentation/networking/
Dmultiqueue.rst32 default pfifo_fast qdisc. This qdisc supports one qdisc per hardware queue.
33 A new round-robin qdisc, sch_multiq also supports multiple hardware queues. The
34 qdisc is responsible for classifying the skb's and then directing the skb's to
42 On qdisc load, the number of bands is based on the number of queues on the
51 qdiscs. To add the MULTIQ qdisc to your network device, assuming the device
54 # tc qdisc add dev eth0 root handle 1: multiq
56 The qdisc will allocate the number of bands to equal the number of queues that
57 the device reports, and bring the qdisc online. Assuming eth0 has 4 Tx
/Linux-v5.10/tools/testing/selftests/net/forwarding/
Dsch_tbf_etsprio.sh14 tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \
16 tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \
27 tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0
29 tc qdisc del dev $swp2 root
Dskbedit_priority.sh63 tc qdisc add dev $swp1 clsact
64 tc qdisc add dev $swp2 clsact
65 tc qdisc add dev $swp2 root handle 10: \
71 tc qdisc del dev $swp2 root
72 tc qdisc del dev $swp2 clsact
73 tc qdisc del dev $swp1 clsact
Dmirror_topo_lib.sh49 tc qdisc add dev $h3 clsact
54 tc qdisc del dev $h3 clsact
71 tc qdisc add dev $swp1 clsact
76 tc qdisc del dev $swp1 clsact
Dpedit_l4port.sh48 tc qdisc add dev $h2 clsact
53 tc qdisc del dev $h2 clsact
65 tc qdisc add dev $swp1 clsact
66 tc qdisc add dev $swp2 clsact
71 tc qdisc del dev $swp2 clsact
72 tc qdisc del dev $swp1 clsact
Dpedit_dsfield.sh52 tc qdisc add dev $h2 clsact
57 tc qdisc del dev $h2 clsact
69 tc qdisc add dev $swp1 clsact
70 tc qdisc add dev $swp2 clsact
75 tc qdisc del dev $swp2 clsact
76 tc qdisc del dev $swp1 clsact

123456