Home
last modified time | relevance | path

Searched full:flows (Results 1 – 25 of 264) sorted by relevance

1234567891011

/Linux-v5.15/samples/pktgen/
Dpktgen_sample04_many_flows.sh4 # Script example for many flows testing
6 # Number of simultaneous flows limited by variable $FLOWS
33 # Limiting the number of concurrent flows ($FLOWS)
36 [ -z "$FLOWS" ] && FLOWS="8000"
84 # Limit number of flows (max 65535)
85 pg_set $dev "flows $FLOWS"
/Linux-v5.15/include/net/
Dfq_impl.h36 idx = flow - fq->flows; in __fq_adjust_removal()
152 flow = &fq->flows[idx]; in fq_flow_classify()
160 tin->flows++; in fq_flow_classify()
173 struct fq_flow *cur = &fq->flows[i]; in fq_find_fattest_flow()
357 fq->flows = kvcalloc(fq->flows_cnt, sizeof(fq->flows[0]), GFP_KERNEL); in fq_init()
358 if (!fq->flows) in fq_init()
364 kvfree(fq->flows); in fq_init()
365 fq->flows = NULL; in fq_init()
370 fq_flow_init(&fq->flows[i]); in fq_init()
381 fq_flow_reset(fq, &fq->flows[i], free_func); in fq_reset()
[all …]
Dfq.h39 * pull interleaved packets out of the associated flows.
53 u32 flows; member
61 * @limit: max number of packets that can be queued across all flows
62 * @backlog: number of packets queued across all flows
65 struct fq_flow *flows; member
/Linux-v5.15/net/sched/
Dsch_fq_codel.c29 * Packets are classified (internal classifier or external) on flows.
30 * This is a Stochastic model (as we use a hash, several flows
33 * Flows are linked onto two (Round Robin) lists,
34 * so that new flows have priority on old ones.
53 struct fq_codel_flow *flows; /* Flows table [flows_cnt] */ member
55 u32 flows_cnt; /* number of flows */
66 struct list_head new_flows; /* list of new flows */
67 struct list_head old_flows; /* list of old flows */
148 * This might sound expensive, but with 1024 flows, we scan in fq_codel_drop()
164 flow = &q->flows[idx]; in fq_codel_drop()
[all …]
Dsch_fq_pie.c21 * - Packets are classified on flows.
22 * - This is a Stochastic model (as we use a hash, several flows might
25 * - Flows are linked onto two (Round Robin) lists,
26 * so that new flows have priority on old ones.
57 struct fq_pie_flow *flows; member
149 sel_flow = &q->flows[idx]; in fq_pie_qdisc_enqueue()
301 if (q->flows) { in fq_pie_change()
303 "Number of flows cannot be changed"); in fq_pie_change()
309 "Number of flows must range in [1..65536]"); in fq_pie_change()
383 pie_calculate_probability(&q->p_params, &q->flows[idx].vars, in fq_pie_timer()
[all …]
Dsch_sfq.c53 When hash collisions occur, several flows are considered as one.
69 - max 65408 flows,
76 #define SFQ_MAX_FLOWS (0x10000 - SFQ_MAX_DEPTH - 1) /* max number of flows */
127 struct sfq_slot *slots; /* Flows table ('maxflows' entries) */
135 * dep[0] : list of unused flows
136 * dep[1] : list of flows with 1 packet
137 * dep[X] : list of flows with X packets
140 unsigned int maxflows; /* number of flows in flows array */
455 * but we could endup servicing new flows only, and freeze old ones. in sfq_enqueue()
458 /* We could use a bigger initial quantum for new flows */ in sfq_enqueue()
[all …]
Dsch_fq.c12 * Flows are dynamically allocated and stored in a hash table of RB trees
13 * They are also part of one Round Robin 'queues' (new or old flows)
27 * dequeue() : serves flows in Round Robin
101 struct rb_root delayed; /* for rate limited flows */
120 u32 flows; member
207 /* limit number of collected flows per round */
254 q->flows -= fcnt; in fq_gc()
304 if (q->flows >= (2U << q->fq_trees_log) && in fq_classify()
305 q->inactive_flows > q->flows/2) in fq_classify()
359 q->flows++; in fq_classify()
[all …]
Dsch_atm.c66 struct list_head flows; /* NB: "link" is also on this member
78 list_for_each_entry(flow, &p->flows, list) { in lookup_flow()
356 list_for_each_entry(flow, &p->flows, list) { in atm_tc_walk()
394 list_for_each_entry(flow, &p->flows, list) { in atm_tc_enqueue()
478 list_for_each_entry(flow, &p->flows, list) { in sch_atm_dequeue()
549 INIT_LIST_HEAD(&p->flows); in atm_tc_init()
551 list_add(&p->link.list, &p->flows); in atm_tc_init()
577 list_for_each_entry(flow, &p->flows, list) in atm_tc_reset()
588 list_for_each_entry(flow, &p->flows, list) { in atm_tc_destroy()
593 list_for_each_entry_safe(flow, tmp, &p->flows, list) { in atm_tc_destroy()
/Linux-v5.15/drivers/net/wireless/intel/iwlwifi/
Diwl-drv.h30 * DOC: Driver system flows - drv component
32 * This component implements the system flows such as bus enumeration, bus
33 * removal. Bus dependent parts of system flows (such as iwl_pci_probe) are in
38 * the wifi flows: it will allow to have several fw API implementation. These
63 * specific system flows implementations. For example, the bus specific probe
74 * Stop the driver. This should be called by bus specific system flows
/Linux-v5.15/samples/bpf/
Ddo_hbm_test.sh18 echo " [-f=<#flows>|--flows=<#flows>] [-h] [-i=<id>|--id=<id >]"
34 echo " -f or --flows number of concurrent flows (default=1)"
38 echo " -l do not limit flows using loopback"
78 flows=1
150 -f=*|--flows=*)
151 flows="${i#*=}"
278 while [ $flow_cnt -le $flows ] ; do
320 while [ $flow_cnt -le $flows ] ; do
346 iperf3 -c $host -p $port -i 0 -P $flows -f m -t $dur > iperf.$id
366 while [ $flow_cnt -le $flows ] ; do
[all …]
/Linux-v5.15/tools/testing/selftests/tc-testing/tc-tests/qdiscs/
Dfq_pie.json4 "name": "Create FQ-PIE with invalid number of flows",
12 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_pie flows 65536",
15 "matchPattern": "qdisc fq_pie 1: root refcnt 2 limit 10240p flows 65536",
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/en/
Dtc_priv.h77 /* flows sharing the same reformat object - currently mpls decap */
81 /* flows sharing same route entry */
94 struct list_head hairpin; /* flows sharing the same hairpin */
95 struct list_head peer; /* flows with peer flow */
96 struct list_head unready; /* flows not ready to be offloaded (e.g
/Linux-v5.15/drivers/crypto/allwinner/sun8i-ss/
Dsun8i-ss-core.c71 ss->flows[flow].stat_req++; in sun8i_ss_run_task()
128 reinit_completion(&ss->flows[flow].complete); in sun8i_ss_run_task()
129 ss->flows[flow].status = 0; in sun8i_ss_run_task()
134 wait_for_completion_interruptible_timeout(&ss->flows[flow].complete, in sun8i_ss_run_task()
136 if (ss->flows[flow].status == 0) { in sun8i_ss_run_task()
155 ss->flows[flow].status = 1; in ss_irq_handler()
156 complete(&ss->flows[flow].complete); in ss_irq_handler()
420 seq_printf(seq, "Channel %d: nreq %lu\n", i, ss->flows[i].stat_req); in sun8i_ss_debugfs_show()
455 crypto_engine_exit(ss->flows[i].engine); in sun8i_ss_free_flows()
467 ss->flows = devm_kcalloc(ss->dev, MAXFLOW, sizeof(struct sun8i_ss_flow), in allocate_flows()
[all …]
Dsun8i-ss-prng.c129 reinit_completion(&ss->flows[flow].complete); in sun8i_ss_prng_generate()
130 ss->flows[flow].status = 0; in sun8i_ss_prng_generate()
136 wait_for_completion_interruptible_timeout(&ss->flows[flow].complete, in sun8i_ss_prng_generate()
138 if (ss->flows[flow].status == 0) { in sun8i_ss_prng_generate()
/Linux-v5.15/drivers/net/ethernet/netronome/nfp/flower/
Dconntrack.h50 * @tc_merge_tb: The table of merged tc flows
56 * @nft_merge_tb: The table of merged tc+nft flows
114 * @children: List of tc_merge flows this flow forms part of
133 * struct nfp_fl_ct_tc_merge - Merge of two flows from tc
155 * struct nfp_fl_nft_tc_merge - Merge of tc_merge flows with nft flow
251 * nfp_fl_ct_stats() - Handle flower stats callbacks for ct flows
/Linux-v5.15/Documentation/networking/
Dscaling.rst31 of logical flows. Packets for each flow are steered to a separate receive
188 to the same CPU is CPU load imbalance if flows vary in packet rate.
194 Flow Limit is an optional RPS feature that prioritizes small flows
195 during CPU contention by dropping packets from large flows slightly
196 ahead of those from small flows. It is active only when an RPS or RFS
202 new packet is dropped. Packets from other flows are still only
206 even large flows maintain connectivity.
224 identification of large flows and fewer false positives. The default
261 flows to the CPUs where those flows are being processed. The flow hash
266 same CPU. Indeed, with many flows and few CPUs, it is very likely that
[all …]
Dnf_flowtable.rst33 specifies what flows are placed into the flowtable. Hence, packets follow the
34 classic IP forwarding path unless the user explicitly instruct flows to use this
111 You can identify offloaded flows through the [OFFLOAD] tag when listing your
130 instead the real device is sufficient for the flowtable to track your flows.
198 There is a workqueue that adds the flows to the hardware. Note that a few
202 You can identify hardware offloaded flows through the [HW_OFFLOAD] tag when
Dopenvswitch.rst16 table" that userspace populates with "flows" that map from keys based
104 A wildcarded flow can represent a group of exact match flows. Each '1' bit
108 by reduce the number of new flows need to be processed by the user space program.
120 two possible approaches: reactively install flows as they miss the kernel
130 The behavior when using overlapping wildcarded flows is undefined. It is the
133 performs best-effort detection of overlapping wildcarded flows and may reject
146 future operations. The kernel is not required to index flows by the original
/Linux-v5.15/drivers/net/ethernet/marvell/mvpp2/
Dmvpp2_cls.c26 /* TCP over IPv4 flows, Not fragmented, no vlan tag */
45 /* TCP over IPv4 flows, Not fragmented, with vlan tag */
61 /* TCP over IPv4 flows, fragmented, no vlan tag */
80 /* TCP over IPv4 flows, fragmented, with vlan tag */
96 /* UDP over IPv4 flows, Not fragmented, no vlan tag */
115 /* UDP over IPv4 flows, Not fragmented, with vlan tag */
131 /* UDP over IPv4 flows, fragmented, no vlan tag */
150 /* UDP over IPv4 flows, fragmented, with vlan tag */
166 /* TCP over IPv6 flows, not fragmented, no vlan tag */
179 /* TCP over IPv6 flows, not fragmented, with vlan tag */
[all …]
/Linux-v5.15/drivers/dma/ti/
Dk3-udma-glue.c83 struct k3_udma_glue_rx_flow *flows; member
615 * req.rxcq_qnum = k3_ringacc_get_ring_id(rx_chn->flows[0].ringrx); in k3_udma_glue_cfg_rx_chn()
640 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_num]; in k3_udma_glue_release_rx_flow()
660 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_idx]; in k3_udma_glue_cfg_rx_flow()
956 rx_chn->flows = devm_kcalloc(dev, rx_chn->flow_num, in k3_udma_glue_request_rx_chn_priv()
957 sizeof(*rx_chn->flows), GFP_KERNEL); in k3_udma_glue_request_rx_chn_priv()
958 if (!rx_chn->flows) { in k3_udma_glue_request_rx_chn_priv()
968 rx_chn->flows[i].udma_rflow_id = rx_chn->flow_id_base + i; in k3_udma_glue_request_rx_chn_priv()
1012 * Linux can only request and manipulate by dedicated RX flows in k3_udma_glue_request_remote_rx_chn()
1037 rx_chn->flows = devm_kcalloc(dev, rx_chn->flow_num, in k3_udma_glue_request_remote_rx_chn()
[all …]
/Linux-v5.15/include/uapi/linux/
Dpkt_sched.h62 classes (or flows) have major equal to parent qdisc major, and
218 unsigned flows; /* Maximal number of flows */ member
767 __u32 penalty_rate; /* inelastic flows are rate limited to 'rate' pps */
864 __u32 new_flows_len; /* count of flows in new list */
865 __u32 old_flows_len; /* count of flows in old list */
939 __u32 flows; member
1029 __u32 new_flow_count; /* count of new flows created by packets */
1030 __u32 new_flows_len; /* count of flows in new list */
1031 __u32 old_flows_len; /* count of flows in old list */
/Linux-v5.15/Documentation/userspace-api/media/mediactl/
Dmedia-controller-model.rst26 by an entity flows from the entity's output to one or more entity
31 pads, either on the same entity or on different entities. Data flows
/Linux-v5.15/tools/perf/pmu-events/arch/arm64/fujitsu/a64fx/
Dpipeline.json141 … the number of times where 2 elements of the gather instructions became 2 flows because 2 elements…
144 … the number of times where 2 elements of the gather instructions became 2 flows because 2 elements…
159 "PublicDescription": "This event counts the number of flows of the scatter instructions.",
162 "BriefDescription": "This event counts the number of flows of the scatter instructions."
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/
Deswitch_offloads.c63 /* There are two match-all miss flows, one for unicast dst mac and
986 struct mlx5_flow_handle **flows = esw->fdb_table.offloads.send_to_vport_meta_rules; in mlx5_eswitch_del_send_to_vport_meta_rules() local
989 if (!num_vfs || !flows) in mlx5_eswitch_del_send_to_vport_meta_rules()
993 mlx5_del_flow_rules(flows[i]); in mlx5_eswitch_del_send_to_vport_meta_rules()
995 kvfree(flows); in mlx5_eswitch_del_send_to_vport_meta_rules()
1005 struct mlx5_flow_handle **flows; in mlx5_eswitch_add_send_to_vport_meta_rules() local
1012 flows = kvzalloc(num_vfs * sizeof(*flows), GFP_KERNEL); in mlx5_eswitch_add_send_to_vport_meta_rules()
1013 if (!flows) in mlx5_eswitch_add_send_to_vport_meta_rules()
1047 flows[rule_idx++] = flow_rule; in mlx5_eswitch_add_send_to_vport_meta_rules()
1050 esw->fdb_table.offloads.send_to_vport_meta_rules = flows; in mlx5_eswitch_add_send_to_vport_meta_rules()
[all …]
/Linux-v5.15/include/linux/
Dkvm_types.h65 * Memory caches are used to preallocate memory ahead of various MMU flows,
67 * MMU flows is problematic, as is triggering reclaim, I/O, etc... while

1234567891011