Home
last modified time | relevance | path

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

123456789

/linux/drivers/net/ethernet/netronome/nfp/abm/
H A 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 in nfp_abm_stats_update_red()
71 nfp_abm_stats_update_mq(struct nfp_abm_link * alink,struct nfp_qdisc * qdisc) nfp_abm_stats_update_mq() argument
106 nfp_abm_qdisc_unlink_children(struct nfp_qdisc * qdisc,unsigned int start,unsigned int end) nfp_abm_qdisc_unlink_children() argument
119 nfp_abm_qdisc_offload_stop(struct nfp_abm_link * alink,struct nfp_qdisc * qdisc) nfp_abm_qdisc_offload_stop() argument
173 nfp_abm_stats_init(struct nfp_abm_link * alink,struct nfp_qdisc * qdisc,unsigned int queue) nfp_abm_stats_init() argument
191 nfp_abm_offload_compile_red(struct nfp_abm_link * alink,struct nfp_qdisc * qdisc,unsigned int queue) nfp_abm_offload_compile_red() argument
227 nfp_abm_offload_compile_mq(struct nfp_abm_link * alink,struct nfp_qdisc * qdisc) nfp_abm_offload_compile_mq() argument
249 struct nfp_qdisc *qdisc; nfp_abm_qdisc_offload_update() local
286 nfp_abm_qdisc_clear_mq(struct net_device * netdev,struct nfp_abm_link * alink,struct nfp_qdisc * qdisc) nfp_abm_qdisc_clear_mq() argument
322 nfp_abm_qdisc_free(struct net_device * netdev,struct nfp_abm_link * alink,struct nfp_qdisc * qdisc) nfp_abm_qdisc_free() argument
344 struct nfp_qdisc *qdisc; nfp_abm_qdisc_alloc() local
389 nfp_abm_qdisc_replace(struct net_device * netdev,struct nfp_abm_link * alink,enum nfp_qdisc_type type,u32 parent_handle,u32 handle,unsigned int children,struct nfp_qdisc ** qdisc) nfp_abm_qdisc_replace() argument
407 struct nfp_qdisc *qdisc; nfp_abm_qdisc_destroy() local
485 struct nfp_qdisc *qdisc; nfp_abm_gred_stats() local
579 struct nfp_qdisc *qdisc; nfp_abm_gred_replace() local
622 struct nfp_qdisc *qdisc; nfp_abm_red_xstats() local
641 struct nfp_qdisc *qdisc; nfp_abm_red_stats() local
701 struct nfp_qdisc *qdisc; nfp_abm_red_replace() local
760 struct nfp_qdisc *qdisc; nfp_abm_mq_create() local
779 struct nfp_qdisc *qdisc, *red; nfp_abm_mq_stats() local
[all...]
/linux/net/sched/
H A Dsch_generic.c32 #include <trace/events/qdisc.h>
64 * qdisc_lock(qdisc) spinlock.
67 * - enqueue, dequeue are serialized via qdisc root lock
68 * - ingress filtering is also serialized via qdisc root lock
309 * required. Owning qdisc running bit guarantees that only one CPU
323 /* And release qdisc */ in sch_direct_xmit()
375 * this qdisc at a time. qdisc_lock(q) serializes queue accesses for
635 static int noop_enqueue(struct sk_buff *skb, struct Qdisc *qdisc, in noop_enqueue() argument
643 static struct sk_buff *noop_dequeue(struct Qdisc *qdisc) in noop_dequeue() argument
658 RCU_POINTER_INITIALIZER(qdisc,
686 noqueue_init(struct Qdisc * qdisc,struct nlattr * opt,struct netlink_ext_ack * extack) noqueue_init() argument
731 pfifo_fast_enqueue(struct sk_buff * skb,struct Qdisc * qdisc,struct sk_buff ** to_free) pfifo_fast_enqueue() argument
755 pfifo_fast_dequeue(struct Qdisc * qdisc) pfifo_fast_dequeue() argument
796 pfifo_fast_peek(struct Qdisc * qdisc) pfifo_fast_peek() argument
811 pfifo_fast_reset(struct Qdisc * qdisc) pfifo_fast_reset() argument
841 pfifo_fast_dump(struct Qdisc * qdisc,struct sk_buff * skb) pfifo_fast_dump() argument
854 pfifo_fast_init(struct Qdisc * qdisc,struct nlattr * opt,struct netlink_ext_ack * extack) pfifo_fast_init() argument
1031 qdisc_reset(struct Qdisc * qdisc) qdisc_reset() argument
1048 qdisc_free(struct Qdisc * qdisc) qdisc_free() argument
1065 __qdisc_destroy(struct Qdisc * qdisc) __qdisc_destroy() argument
1092 qdisc_destroy(struct Qdisc * qdisc) qdisc_destroy() argument
1100 qdisc_put(struct Qdisc * qdisc) qdisc_put() argument
1118 qdisc_put_unlocked(struct Qdisc * qdisc) qdisc_put_unlocked() argument
1131 dev_graft_qdisc(struct netdev_queue * dev_queue,struct Qdisc * qdisc) dev_graft_qdisc() argument
1155 struct Qdisc *qdisc = rtnl_dereference(dev_queue->qdisc_sleeping); shutdown_scheduler_queue() local
1170 struct Qdisc *qdisc; attach_one_default_qdisc() local
1190 struct Qdisc *qdisc; attach_default_qdiscs() local
1273 qdisc_deactivate(struct Qdisc * qdisc) qdisc_deactivate() argument
1286 struct Qdisc *qdisc; dev_deactivate_queue() local
1301 struct Qdisc *qdisc; dev_reset_queue() local
1409 struct Qdisc *qdisc = rtnl_dereference(dev_queue->qdisc_sleeping); qdisc_change_tx_queue_len() local
1420 struct Qdisc *qdisc = rtnl_dereference(dev->qdisc); dev_qdisc_change_real_num_tx() local
1430 struct Qdisc *qdisc; mq_change_real_num_tx() local
1476 struct Qdisc *qdisc = _qdisc; dev_init_scheduler_queue() local
1612 mini_qdisc_pair_init(struct mini_Qdisc_pair * miniqp,struct Qdisc * qdisc,struct mini_Qdisc __rcu ** p_miniq) mini_qdisc_pair_init() argument
[all...]
H A 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, fals in mq_attach()
131 struct Qdisc *qdisc; mq_dump() local
[all...]
H A Dsch_cbs.c48 * this qdisc (IEEE 802.1Q-2014 Annex L, Equation L-2):
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
234 struct Qdisc *qdisc = q->qdisc; cbs_dequeue_offload() local
[all...]
H A Dsch_drr.c25 struct Qdisc *qdisc; member
116 cl->qdisc = qdisc_create_dflt(sch->dev_queue, in drr_change_class()
119 if (cl->qdisc == NULL) in drr_change_class()
120 cl->qdisc = &noop_qdisc; in drr_change_class()
122 qdisc_hash_add(cl->qdisc, true); in drr_change_class()
129 qdisc_put(cl->qdisc); in drr_change_class()
148 qdisc_put(cl->qdisc); in drr_destroy_class()
165 qdisc_purge_queue(cl->qdisc); in drr_delete_class()
223 *old = qdisc_replace(sch, new, &cl->qdisc); in drr_graft_class()
231 return cl->qdisc; in drr_class_leaf()
[all...]
H A Dsch_mqprio.c351 struct Qdisc *qdisc; in mqprio_init() local
390 /* pre-allocate qdisc, attachment can't fail */ in mqprio_init()
398 qdisc = qdisc_create_dflt(dev_queue, in mqprio_init()
402 if (!qdisc) in mqprio_init()
405 priv->qdiscs[i] = qdisc; in mqprio_init()
406 qdisc->flags |= TCQ_F_ONETXQUEUE | TCQ_F_NOPARENT; in mqprio_init()
436 struct Qdisc *qdisc, *old; in mqprio_attach() local
439 /* Attach underlying qdisc */ in mqprio_attach()
441 qdisc = priv->qdiscs[ntx]; in mqprio_attach()
442 old = dev_graft_qdisc(qdisc in mqprio_attach()
559 struct Qdisc *qdisc; mqprio_dump() local
685 struct Qdisc *qdisc = rtnl_dereference(q->qdisc); mqprio_dump_class_stats() local
[all...]
H A Dsch_tbf.c94 It is passed to the default bfifo qdisc - if the inner qdisc is
111 struct Qdisc *qdisc; /* Inner qdisc, default - bfifo queue */ member
224 ret = qdisc_enqueue(segs, q->qdisc, to_free); in tbf_segment()
258 ret = qdisc_enqueue(skb, q->qdisc, to_free); in tbf_enqueue()
280 skb = q->qdisc->ops->peek(q->qdisc); in tbf_dequeue()
303 skb = qdisc_dequeue_peeked(q->qdisc); in tbf_dequeue()
339 qdisc_reset(q->qdisc); in tbf_reset()
[all...]
H A Dsch_ets.c41 struct Qdisc *qdisc; member
269 *old = qdisc_replace(sch, new, &cl->qdisc); in ets_class_graft()
278 return cl->qdisc; in ets_class_leaf()
313 tcm->tcm_info = cl->qdisc->handle; in ets_class_dump()
333 struct Qdisc *cl_q = cl->qdisc; in ets_class_dump_stats()
433 err = qdisc_enqueue(skb, cl->qdisc, to_free); in ets_qdisc_enqueue()
472 skb = qdisc_dequeue_peeked(cl->qdisc); in ets_qdisc_dequeue()
481 skb = cl->qdisc->ops->peek(cl->qdisc); in ets_qdisc_dequeue()
483 qdisc_warn_nonwc(__func__, cl->qdisc); in ets_qdisc_dequeue()
490 skb = qdisc_dequeue_peeked(cl->qdisc); in ets_qdisc_dequeue()
[all …]
H A 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 in multiq_peek()
[all...]
/linux/include/net/
H A Dsch_generic.h45 /* Only for !TCQ_F_NOLOCK qdisc. Never access it directly.
96 #define TCQ_F_NOLOCK 0x100 /* qdisc does not require locking */
97 #define TCQ_F_OFFLOADED 0x200 /* qdisc is offloaded to HW */
122 unsigned long state2; /* must be written under qdisc spinlock */
136 static inline void qdisc_refcount_inc(struct Qdisc *qdisc) in qdisc_refcount_inc() argument
138 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_inc()
140 refcount_inc(&qdisc->refcnt); in qdisc_refcount_inc()
143 static inline bool qdisc_refcount_dec_if_one(struct Qdisc *qdisc) in qdisc_refcount_dec_if_one() argument
145 if (qdisc->flags & TCQ_F_BUILTIN) in qdisc_refcount_dec_if_one()
147 return refcount_dec_if_one(&qdisc in qdisc_refcount_dec_if_one()
154 qdisc_refcount_inc_nz(struct Qdisc * qdisc) qdisc_refcount_inc_nz() argument
167 qdisc_is_running(struct Qdisc * qdisc) qdisc_is_running() argument
174 nolock_qdisc_is_empty(const struct Qdisc * qdisc) nolock_qdisc_is_empty() argument
184 qdisc_is_empty(const struct Qdisc * qdisc) qdisc_is_empty() argument
194 qdisc_run_begin(struct Qdisc * qdisc) qdisc_run_begin() argument
217 qdisc_run_end(struct Qdisc * qdisc) qdisc_run_end() argument
236 qdisc_may_bulk(const struct Qdisc * qdisc) qdisc_may_bulk() argument
542 qdisc_lock(struct Qdisc * qdisc) qdisc_lock() argument
547 qdisc_root(const struct Qdisc * qdisc) qdisc_root() argument
554 qdisc_root_bh(const struct Qdisc * qdisc) qdisc_root_bh() argument
559 qdisc_root_sleeping(const struct Qdisc * qdisc) qdisc_root_sleeping() argument
564 qdisc_root_sleeping_lock(const struct Qdisc * qdisc) qdisc_root_sleeping_lock() argument
572 qdisc_dev(const struct Qdisc * qdisc) qdisc_dev() argument
760 struct Qdisc *qdisc; qdisc_reset_all_tx_gt() local
809 struct Qdisc *qdisc = rcu_access_pointer(txq->qdisc); qdisc_txq_has_no_queue() local
[all...]
/linux/include/trace/events/
H A 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;
44 TP_printk("dequeue ifindex=%d qdisc handle=0x%X parent=0x%X txq_state=0x%lX packets=%d skbaddr=%p",
51 TP_PROTO(struct Qdisc *qdisc, cons
[all...]
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dcgroup_ancestor.c18 struct bpf_tc_hook qdisc; member
58 memset(&t->qdisc, 0, sizeof(t->qdisc)); in setup_network()
59 t->qdisc.sz = sizeof(t->qdisc); in setup_network()
60 t->qdisc.attach_point = BPF_TC_EGRESS; in setup_network()
61 t->qdisc.ifindex = if_nametoindex("lo"); in setup_network()
62 if (!ASSERT_NEQ(t->qdisc.ifindex, 0, "if_nametoindex")) in setup_network()
64 if (!ASSERT_OK(bpf_tc_hook_create(&t->qdisc), "qdisc ad in setup_network()
[all...]
/linux/tools/testing/selftests/net/forwarding/
H A Dsch_tbf_etsprio.sh17 tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \
19 tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \
32 tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0
33 defer tc qdisc del dev $swp2 root
44 tc qdisc replace dev $swp2 root handle 1: \
46 defer tc qdisc del dev $swp2 root
48 tc qdisc replace dev $swp2 parent 1:1 handle 10: \
50 tc qdisc replace dev $swp2 parent 10:3 handle 103: \
52 tc qdisc replace dev $swp2 parent 10:2 handle 102: \
54 tc qdisc replac
[all...]
H A Dtc_mpls_l2vpn.sh81 tc qdisc add dev $edge1 ingress
89 tc qdisc add dev $mpls1 ingress
102 tc qdisc del dev $mpls1 ingress
105 tc qdisc del dev $edge1 ingress
110 tc qdisc add dev $edge2 ingress
118 tc qdisc add dev $mpls2 ingress
131 tc qdisc del dev $mpls2 ingress
134 tc qdisc del dev $edge2 ingress
H A Dskbedit_priority.sh7 # qdisc at $swp2. The test verifies that for different priority values, the
65 tc qdisc add dev $swp1 clsact
66 tc qdisc add dev $swp2 clsact
67 tc qdisc add dev $swp2 root handle 10: \
73 tc qdisc del dev $swp2 root
74 tc qdisc del dev $swp2 clsact
75 tc qdisc del dev $swp1 clsact
H A Dtc_taprio.sh121 tc qdisc add dev $if_name clsact
127 tc qdisc add dev $if_name handle 100: parent root mqprio num_tc 8 \
132 tc qdisc replace dev $if_name parent 100:$((STREAM_PRIO_1 + 1)) etf \
134 tc qdisc replace dev $if_name parent 100:$((STREAM_PRIO_2 + 1)) etf \
136 tc qdisc replace dev $if_name parent 100:$((STREAM_PRIO_3 + 1)) etf \
144 tc qdisc del dev $if_name clsact
145 tc qdisc del dev $if_name root
156 tc qdisc replace dev $if_name root stab overhead 24 taprio num_tc 8 \
169 tc qdisc del dev $if_name root
379 tc qdisc replac
[all...]
H A Dpedit_ip.sh47 tc qdisc add dev $h2 clsact
52 tc qdisc del dev $h2 clsact
64 tc qdisc add dev $swp1 clsact
65 tc qdisc add dev $swp2 clsact
70 tc qdisc del dev $swp2 clsact
71 tc qdisc del dev $swp1 clsact
/linux/tools/testing/selftests/drivers/net/mlxsw/
H A Dtc_restrictions.sh44 tc qdisc add dev $swp1 ingress_block 22 clsact
51 tc qdisc add dev $swp2 ingress_block 22 clsact
54 tc qdisc del dev $swp2 clsact
56 tc qdisc add dev $swp2 egress_block 22 clsact
61 tc qdisc add dev $swp2 egress_block 22 clsact
68 tc qdisc del dev $swp1 clsact
70 tc qdisc add dev $swp1 egress_block 22 clsact
79 tc qdisc del dev $swp2 clsact
80 tc qdisc del dev $swp1 clsact
92 tc qdisc ad
[all...]
H A Dsch_offload.sh4 # Test qdisc offload indication
57 tc qdisc add dev $h1 $locus handle $handle \
60 tc qdisc del dev $h1 $locus
68 tc qdisc add dev $h1 $locus handle $handle \
71 tc qdisc del dev $h1 $locus
79 tc qdisc add dev $h1 $locus handle $handle \
82 tc qdisc del dev $h1 $locus
90 tc qdisc add dev $h1 $locus handle $handle \
93 tc qdisc del dev $h1 $locus
101 tc qdisc ad
[all...]
H A 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
274 check_fail $? "buffer_size should fail before qdisc is added"
276 tc qdisc replace dev $swp root handle 1: bfifo limit 1.5M
279 check_err $? "buffer_size should pass after qdisc is added"
288 # After replacing the qdisc fo
[all...]
H A Dsch_red_ets.sh28 tc qdisc add dev $swp3 parent 1: handle 10: $QDISC \
36 tc qdisc add dev $swp3 parent 10:8 handle 108: red \
45 tc qdisc add dev $swp3 parent 10:7 handle 107: red \
60 tc qdisc del dev $swp3 parent 10:8
65 tc qdisc del dev $swp3 parent 10:7
70 tc qdisc del dev $swp3 parent 1:
116 check_err $? "backlog of $cur observed on non-busy qdisc"
H A 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
102 tc qdisc add dev $swp1 clsact
103 tc qdisc add dev $swp2 clsact
114 tc qdisc del dev $swp2 clsact
115 tc qdisc del dev $swp1 clsact
H A Drif_mac_profiles.sh19 tc qdisc add dev $h1 ingress
24 tc qdisc del dev $h1 ingress
35 tc qdisc add dev $h2 ingress
40 tc qdisc del dev $h2 ingress
51 tc qdisc add dev $rp1 clsact
52 tc qdisc add dev $rp2 clsact
61 tc qdisc del dev $rp2 clsact
62 tc qdisc del dev $rp1 clsact
/linux/samples/bpf/
H A Ddo_hbm_test.sh20 echo " [-q=<qdisc>] [-R] [-s=<server>|--server=<server]"
42 echo " -q use the specified qdisc"
90 qdisc=""
148 qdisc="fq"
169 qdisc="${i#*=}"
236 if [ "$qdisc" != "" ] ; then
239 tc qdisc del dev lo root > /dev/null 2>&1
240 tc qdisc add dev lo root netem delay $netem\ms > /dev/null 2>&1
241 elif [ "$qdisc" != "" ] ; then
242 tc qdisc de
[all...]
/linux/Documentation/networking/
H A 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 onlin
[all...]

123456789