| /linux/include/net/ |
| H A D | fq_impl.h | 36 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() 361 fq->flows = kvzalloc_objs(fq->flows[0], fq->flows_cnt); in fq_init() 362 if (!fq->flows) in fq_init() 367 kvfree(fq->flows); in fq_init() 368 fq->flows = NULL; in fq_init() 373 fq_flow_init(&fq->flows[i]); in fq_init() 384 fq_flow_reset(fq, &fq->flows[i], free_func); in fq_reset() [all …]
|
| H A D | fq.h | 57 u32 flows; member 69 struct fq_flow *flows; member
|
| /linux/samples/bpf/ |
| H A D | do_hbm_test.sh | 18 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 ] ; d [all...] |
| /linux/net/sched/ |
| H A D | sch_fq_codel.c | 29 * Packets are classified (internal classifier or external) on flows. 30 * This is a Stochastic model (as we use a hash, several flows 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() 205 flow = &q->flows[id in fq_codel_enqueue() [all...] |
| H A D | sch_fq_pie.c | 58 struct fq_pie_flow *flows; member 152 sel_flow = &q->flows[idx]; in fq_pie_qdisc_enqueue() 307 if (q->flows) { in fq_pie_change() 404 &q->flows[q->flows_cursor].vars, in fq_pie_timer() 405 q->flows[q->flows_cursor].backlog); in fq_pie_timer() 453 q->flows = kvzalloc_objs(struct fq_pie_flow, q->flows_cnt); in fq_pie_init() 454 if (!q->flows) { in fq_pie_init() 459 struct fq_pie_flow *flow = q->flows + idx; in fq_pie_init() 545 struct fq_pie_flow *flow = q->flows + idx; in fq_pie_reset() 563 kvfree(q->flows); in fq_pie_destroy()
|
| H A D | sch_cake.c | 152 struct cake_flow flows[CAKE_QUEUES]; member 806 q->flows[reduced_hash].set)) { in cake_hash() 824 if (!q->flows[outer_hash + k].set) { in cake_hash() 839 if (!q->flows[outer_hash + k].set) { in cake_hash() 854 if (q->flows[outer_hash + k].set == CAKE_SET_BULK) { in cake_hash() 855 cake_dec_srchost_bulk_flow_count(q, &q->flows[outer_hash + k], flow_mode); in cake_hash() 856 cake_dec_dsthost_bulk_flow_count(q, &q->flows[outer_hash + k], flow_mode); in cake_hash() 881 q->flows[reduced_hash].srchost = srchost_idx; in cake_hash() 883 if (q->flows[reduced_hash].set == CAKE_SET_BULK) in cake_hash() 884 cake_inc_srchost_bulk_flow_count(q, &q->flows[reduced_hash], flow_mode); in cake_hash() [all …]
|
| H A D | sch_fq.c | 143 u32 flows; member 299 q->flows -= fcnt; in fq_gc() 329 if (q->flows != q->inactive_flows + q->throttled_flows) in fq_fastpath_check() 460 q->flows++; in fq_classify() 892 q->flows = 0; in fq_reset() 937 q->flows -= fcnt; in fq_rehash() 1362 st.flows = q->flows; in fq_dump_stats()
|
| /linux/drivers/dma/ti/ |
| H A D | k3-udma-glue.c | 84 struct k3_udma_glue_rx_flow *flows; member 716 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_num]; in k3_udma_glue_release_rx_flow() 736 struct k3_udma_glue_rx_flow *flow = &rx_chn->flows[flow_idx]; in k3_udma_glue_cfg_rx_flow() 1036 rx_chn->flows = devm_kcalloc(dev, rx_chn->flow_num, in k3_udma_glue_request_rx_chn_priv() 1037 sizeof(*rx_chn->flows), GFP_KERNEL); in k3_udma_glue_request_rx_chn_priv() 1038 if (!rx_chn->flows) { in k3_udma_glue_request_rx_chn_priv() 1048 rx_chn->flows[i].udma_rflow_id = rx_chn->flow_id_base + i; in k3_udma_glue_request_rx_chn_priv() 1088 rx_chn->flows = devm_kcalloc(dev, rx_chn->flow_num, in k3_udma_glue_request_remote_rx_chn_common() 1089 sizeof(*rx_chn->flows), GFP_KERNEL); in k3_udma_glue_request_remote_rx_chn_common() 1090 if (!rx_chn->flows) in k3_udma_glue_request_remote_rx_chn_common() [all …]
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | tid_rdma.c | 757 u32 generation = rcd->flows[flow_idx].generation; in kern_setup_hw_flow() 775 rcd->flows[flow_idx].generation = in kern_clear_hw_flow() 776 kern_flow_generation_next(rcd->flows[flow_idx].generation); in kern_clear_hw_flow() 804 rcd->flows[fs->index].generation = fs->generation; in hfi1_kern_setup_hw_flow() 853 rcd->flows[i].generation = mask_generation(get_random_u32()); in hfi1_kern_init_ctxt_generations() 1465 struct tid_rdma_flow *flow = &req->flows[req->setup_head]; in hfi1_kern_exp_rcv_setup() 1556 struct tid_rdma_flow *flow = &req->flows[req->clear_tail]; in hfi1_kern_exp_rcv_clear() 1612 kfree(req->flows); in hfi1_kern_exp_rcv_free_flows() 1613 req->flows = NULL; in hfi1_kern_exp_rcv_free_flows() 1634 struct tid_rdma_flow *flows; in hfi1_kern_exp_rcv_alloc_flows() local [all …]
|
| /linux/drivers/crypto/allwinner/sun8i-ss/ |
| H A D | sun8i-ss-hash.c | 295 ss->flows[flow].stat_req++; in sun8i_ss_run_hash_task() 328 reinit_completion(&ss->flows[flow].complete); in sun8i_ss_run_hash_task() 329 ss->flows[flow].status = 0; in sun8i_ss_run_hash_task() 334 wait_for_completion_interruptible_timeout(&ss->flows[flow].complete, in sun8i_ss_run_hash_task() 336 if (ss->flows[flow].status == 0) { in sun8i_ss_run_hash_task() 412 engine = ss->flows[e].engine; in sun8i_ss_hash_digest() 511 result = ss->flows[rctx->flow].result; in sun8i_ss_hash_run() 512 pad = ss->flows[rctx->flow].pad; in sun8i_ss_hash_run()
|
| /linux/Documentation/networking/ |
| H A D | nf_flowtable.rst | 33 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
|
| H A D | openvswitch.rst | 16 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
|
| H A D | pktgen.rst | 97 flows: 0 flowlen: 0 112 flows: 0 286 pgset "flows 1" 391 flows
|
| /linux/Documentation/admin-guide/pm/ |
| H A D | system-wide.rst | 11 suspend-flows
|
| H A D | suspend-flows.rst | 25 The kernel code flows associated with the suspend and resume transitions for 27 significant differences between the :ref:`suspend-to-idle <s2idle>` code flows 28 and the code flows related to the :ref:`suspend-to-RAM <s2ram>` and 35 available. Apart from that, the suspend and resume code flows for these sleep
|
| /linux/Documentation/userspace-api/media/mediactl/ |
| H A D | media-controller-model.rst | 26 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/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_rep.h | 182 struct list_head flows; member 207 struct list_head flows; member
|
| H A D | eswitch_offloads.c | 1191 struct mlx5_flow_handle **flows; in esw_add_fdb_peer_miss_rules() local 1209 flows = kvzalloc_objs(*flows, peer_esw->total_vports); in esw_add_fdb_peer_miss_rules() 1210 if (!flows) { in esw_add_fdb_peer_miss_rules() 1232 flows[peer_vport->index] = flow; in esw_add_fdb_peer_miss_rules() 1245 flows[peer_vport->index] = flow; in esw_add_fdb_peer_miss_rules() 1257 flows[peer_vport->index] = flow; in esw_add_fdb_peer_miss_rules() 1270 flows[peer_vport->index] = flow; in esw_add_fdb_peer_miss_rules() 1285 flows[peer_vport->index] = flow; in esw_add_fdb_peer_miss_rules() 1290 MLX5_CAP_GEN(peer_dev, vhca_id), flows, GFP_KERNEL); in esw_add_fdb_peer_miss_rules() 1300 if (!flows[peer_vport->index]) in esw_add_fdb_peer_miss_rules() [all …]
|
| /linux/net/core/ |
| H A D | pktgen.c | 419 struct flow_state *flows; member 2374 return !!(pkt_dev->flows[flow].flags & F_INIT); in f_seen() 2382 if (pkt_dev->flows[flow].count >= pkt_dev->lflow) { in f_pick() 2384 pkt_dev->flows[flow].count = 0; in f_pick() 2385 pkt_dev->flows[flow].flags = 0; in f_pick() 2394 if (pkt_dev->flows[flow].count > pkt_dev->lflow) { in f_pick() 2395 pkt_dev->flows[flow].count = 0; in f_pick() 2396 pkt_dev->flows[flow].flags = 0; in f_pick() 2411 struct xfrm_state *x = pkt_dev->flows[flow].x; in get_ipsec_sa() 2431 pkt_dev->flows[flow].x = x; in get_ipsec_sa() [all …]
|
| /linux/Documentation/admin-guide/blockdev/drbd/ |
| H A D | figures.rst | 5 Data flows that Relate some functions, and write packets
|
| /linux/net/mctp/test/ |
| H A D | route-test.c | 1028 struct mctp_flow *flows[2]; in mctp_test_fragment_flow() local 1052 flows[0] = skb_ext_find(tx_skbs[0], SKB_EXT_MCTP); in mctp_test_fragment_flow() 1053 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, flows[0]); in mctp_test_fragment_flow() 1054 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, flows[0]->key); in mctp_test_fragment_flow() 1055 KUNIT_ASSERT_PTR_EQ(test, flows[0]->key->sk, sock->sk); in mctp_test_fragment_flow() 1057 flows[1] = skb_ext_find(tx_skbs[1], SKB_EXT_MCTP); in mctp_test_fragment_flow() 1058 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, flows[1]); in mctp_test_fragment_flow() 1059 KUNIT_ASSERT_PTR_EQ(test, flows[1]->key, flows[0]->key); in mctp_test_fragment_flow()
|
| /linux/drivers/net/ethernet/ti/ |
| H A D | am65-cpsw-nuss.c | 513 flow = &rx_chn->flows[id]; in am65_cpsw_destroy_rxq() 573 flow = &rx_chn->flows[id]; in am65_cpsw_create_rxq() 789 am65_cpsw_put_page(&rx_chn->flows[flow_id], page, false); in am65_cpsw_nuss_rx_cleanup() 2358 struct am65_cpsw_rx_flow *flows; in am65_cpsw_nuss_remove_rx_chns() local 2362 flows = rx_chn->flows; in am65_cpsw_nuss_remove_rx_chns() 2365 if (!(flows[i].irq < 0)) in am65_cpsw_nuss_remove_rx_chns() 2366 devm_free_irq(dev, flows[i].irq, &flows[i]); in am65_cpsw_nuss_remove_rx_chns() 2367 netif_napi_del(&flows[i].napi_rx); in am65_cpsw_nuss_remove_rx_chns() 2398 flow = &rx_chn->flows[i]; in am65_cpsw_nuss_init_rx_chns() 2446 flow = &rx_chn->flows[i]; in am65_cpsw_nuss_init_rx_chns() [all …]
|
| /linux/drivers/cache/ |
| H A D | Kconfig | 40 These drivers implement cache management for flows where it is necessary
|
| /linux/net/ethtool/ |
| H A D | rss.c | 754 struct nlattr *flows[ETHTOOL_A_FLOW_MAX + 1]; in ethnl_set_rss_fields() local 767 ret = nla_parse_nested(flows, ARRAY_SIZE(ethnl_rss_flows_policy) - 1, in ethnl_set_rss_fields() 778 if (!flows[i]) in ethnl_set_rss_fields() 781 fields.data = nla_get_u32(flows[i]); in ethnl_set_rss_fields() 786 NL_SET_ERR_MSG_ATTR(info->extack, flows[i], in ethnl_set_rss_fields()
|
| /linux/net/dccp/ccids/ |
| H A D | Kconfig | |