| /linux/Documentation/gpu/amdgpu/gc/ |
| H A D | mes.rst | 11 This section assumes that you are familiar with the concept of Pipes, Queues, and GC. 12 If not, check :ref:`GFX, Compute, and SDMA Overall Behavior<pipes-and-queues-description>` 15 Every GFX has a pipe component with one or more hardware queues. Pipes can 16 switch between queues depending on certain conditions, and one of the 22 1. Kernel Queues (legacy): This queue is statically mapped to HQDs and never 26 queues. The CS IOCTL takes the command buffer from the applications and 29 2. User Queues: These queues are dynamically mapped to the HQDs. Regarding the 30 utilization of User Queues, the userspace application will create its user 31 queues and submit work directly to its user queues with no need to IOCTL for 34 In terms of User Queues, MES can dynamically map them to the HQD. If there are [all …]
|
| /linux/drivers/gpu/drm/imagination/ |
| H A D | pvr_context.c | 162 * pvr_context_destroy_queues() - Destroy all queues attached to a context. 163 * @ctx: Context to destroy queues on. 166 * It releases all resources attached to the queues bound to this context. 172 pvr_queue_destroy(ctx->queues.fragment); in pvr_context_destroy_queues() 173 pvr_queue_destroy(ctx->queues.geometry); in pvr_context_destroy_queues() 176 pvr_queue_destroy(ctx->queues.compute); in pvr_context_destroy_queues() 179 pvr_queue_destroy(ctx->queues.transfer); in pvr_context_destroy_queues() 185 * pvr_context_create_queues() - Create all queues attached to a context. 186 * @ctx: Context to create queues on. 202 ctx->queues.geometry = pvr_queue_create(ctx, DRM_PVR_JOB_TYPE_GEOMETRY, in pvr_context_create_queues() [all …]
|
| /linux/tools/testing/selftests/drivers/net/ |
| H A D | queues.py | 16 folders = glob.glob(f'/sys/class/net/{ifname}/queues/{qtype}-*') 21 queues = nl.queue_get({'ifindex': cfg.ifindex}, dump=True) 22 if queues: 23 return len([q for q in queues if q['type'] == qtype]) 40 queues = nl.queue_get({'ifindex': cfg.ifindex}, dump=True) 41 if not queues: 42 raise KsftSkipEx("Netlink reports no queues") 44 for q in queues: 65 queues = nl_get_queues(cfg, snl, qtype) 66 if not queues: [all …]
|
| /linux/Documentation/networking/ |
| H A D | multi-pf-netdev.rst | 63 Each combined channel works against one specific PF, creating all its datapath queues against it. We 126 that is capable of pointing to the receive queues of a different PF. 142 - /sys/class/net/eth2/queues/tx-0/xps_cpus:000001 143 - /sys/class/net/eth2/queues/tx-1/xps_cpus:001000 144 - /sys/class/net/eth2/queues/tx-2/xps_cpus:000002 145 - /sys/class/net/eth2/queues/tx-3/xps_cpus:002000 146 - /sys/class/net/eth2/queues/tx-4/xps_cpus:000004 147 - /sys/class/net/eth2/queues/tx-5/xps_cpus:004000 148 - /sys/class/net/eth2/queues/tx-6/xps_cpus:000008 149 - /sys/class/net/eth2/queues/tx-7/xps_cpus:008000 [all …]
|
| H A D | scaling.rst | 27 Contemporary NICs support multiple receive and transmit descriptor queues 29 queues to distribute processing among CPUs. The NIC distributes packets by 49 imbalance between the queues, which is acceptable for most applications. 73 Some advanced NICs allow steering packets to queues based on 83 module parameter for specifying the number of hardware queues to 86 for each CPU if the device supports enough queues, or otherwise at least 92 default mapping is to distribute the queues evenly in the table, but the 95 indirection table could be done to give different queues different 106 of queues to IRQs can be determined from /proc/interrupts. By default, 121 is to allocate as many queues as there are CPUs in the system (or the [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/huawei/ |
| H A D | hinic.rst | 55 Asynchronous Event Queues(AEQs) - The event queues for receiving messages from 69 Completion Event Queues(CEQs) - The completion Event Queues that describe IO 72 Work Queues(WQ) - Contain the memory and operations for use by CMD queues and 77 Command Queues(CMDQ) - The queues for sending commands for IO management and is 82 Queue Pairs(QPs) - The HW Receive and Send queues for Receiving and Transmitting 104 Tx Queues - Logical Tx Queues that use the HW Send Queues for transmit. 108 Rx Queues - Logical Rx Queues that use the HW Receive Queues for receive. 112 hinic_dev - de/constructs the Logical Tx and Rx Queues.
|
| /linux/net/sched/ |
| H A D | sch_multiq.c | 25 struct Qdisc **queues; member 54 return q->queues[0]; in multiq_classify() 56 return q->queues[band]; in multiq_classify() 105 qdisc = q->queues[q->curband]; in multiq_dequeue() 137 qdisc = q->queues[curband]; in multiq_peek() 154 qdisc_reset(q->queues[band]); in multiq_reset() 166 qdisc_put(q->queues[band]); in multiq_destroy() 168 kfree(q->queues); in multiq_destroy() 196 if (q->queues[i] != &noop_qdisc) { in multiq_tune() 197 struct Qdisc *child = q->queues[i]; in multiq_tune() [all …]
|
| H A D | sch_prio.c | 26 struct Qdisc *queues[TCQ_PRIO_BANDS]; member 57 return q->queues[q->prio2band[band & TC_PRIO_MAX]]; in prio_classify() 63 return q->queues[q->prio2band[0]]; in prio_classify() 65 return q->queues[band]; in prio_classify() 103 struct Qdisc *qdisc = q->queues[prio]; in prio_peek() 117 struct Qdisc *qdisc = q->queues[prio]; in prio_dequeue() 137 qdisc_reset(q->queues[prio]); in prio_reset() 173 qdisc_put(q->queues[prio]); in prio_destroy() 180 struct Qdisc *queues[TCQ_PRIO_BANDS]; in prio_tune() local 198 queues[i] = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, in prio_tune() [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-class-net-queues | 1 What: /sys/class/net/<iface>/queues/rx-<queue>/rps_cpus 11 What: /sys/class/net/<iface>/queues/rx-<queue>/rps_flow_cnt 19 What: /sys/class/net/<iface>/queues/tx-<queue>/tx_timeout 27 What: /sys/class/net/<iface>/queues/tx-<queue>/tx_maxrate 35 What: /sys/class/net/<iface>/queues/tx-<queue>/xps_cpus 45 What: /sys/class/net/<iface>/queues/tx-<queue>/xps_rxqs 56 What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time 65 What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/inflight 73 What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit 82 What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max [all …]
|
| /linux/drivers/nvme/target/ |
| H A D | loop.c | 30 struct nvme_loop_queue *queues; member 73 return queue - queue->ctrl->queues; in nvme_loop_queue_idx() 177 struct nvme_loop_queue *queue = &ctrl->queues[0]; in nvme_loop_submit_async_event() 198 iod->queue = &ctrl->queues[queue_idx]; in nvme_loop_init_iod() 222 struct nvme_loop_queue *queue = &ctrl->queues[hctx_idx + 1]; in nvme_loop_init_hctx() 242 struct nvme_loop_queue *queue = &ctrl->queues[0]; in nvme_loop_init_admin_hctx() 266 if (!test_and_clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags)) in nvme_loop_destroy_admin_queue() 275 nvmet_sq_destroy(&ctrl->queues[0].nvme_sq); in nvme_loop_destroy_admin_queue() 276 nvmet_cq_put(&ctrl->queues[0].nvme_cq); in nvme_loop_destroy_admin_queue() 293 kfree(ctrl->queues); in nvme_loop_free_ctrl() [all …]
|
| /linux/Documentation/devicetree/bindings/soc/ti/ |
| H A D | keystone-navigator-qmss.txt | 9 management of the packet queues. Packets are queued/de-queued by writing or 32 -- managed-queues : the actual queues managed by each queue manager 33 instance, specified as <"base queue #" "# of queues">. 51 - qpend : pool of qpend(interruptible) queues 52 - general-purpose : pool of general queues, primarily used 53 as free descriptor queues or the 54 transmit DMA queues. 55 - accumulator : pool of queues on PDSP accumulator channel 57 -- qrange : number of queues to use per queue range, specified as 58 <"base queue #" "# of queues">. [all …]
|
| /linux/drivers/net/wireless/silabs/wfx/ |
| H A D | queue.c | 233 struct wfx_queue *queues[IEEE80211_NUM_ACS * ARRAY_SIZE(wdev->vif)]; in wfx_tx_queues_get_skb() local 239 /* sort the queues */ in wfx_tx_queues_get_skb() 243 WARN_ON(num_queues >= ARRAY_SIZE(queues)); in wfx_tx_queues_get_skb() 244 queues[num_queues] = &wvif->tx_queue[i]; in wfx_tx_queues_get_skb() 246 if (wfx_tx_queue_get_weight(queues[j]) < in wfx_tx_queues_get_skb() 247 wfx_tx_queue_get_weight(queues[j - 1])) in wfx_tx_queues_get_skb() 248 swap(queues[j - 1], queues[j]); in wfx_tx_queues_get_skb() 256 skb = skb_dequeue(&queues[i]->offchan); in wfx_tx_queues_get_skb() 264 atomic_inc(&queues[i]->pending_frames); in wfx_tx_queues_get_skb() 265 trace_queues_stats(wdev, queues[i]); in wfx_tx_queues_get_skb() [all …]
|
| /linux/tools/testing/selftests/drivers/net/hw/ |
| H A D | toeplitz.py | 29 for rps_file in glob.glob(f"/sys/class/net/{cfg.ifname}/queues/rx-*/rps_cpus"): 53 Read the list of IRQs for the device Rx queues. 55 queues = cfg.netnl.queue_get({"ifindex": cfg.ifindex}, dump=True) 60 queues = {f"{q['type']}{q['id']}": q for q in queues} 65 if name not in queues: 67 cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) 74 Get CPUs that are not used by Rx queues for RPS. 79 # Get CPUs used by Rx queues 89 …x(f"Need at least {count} CPUs in range 0..{num_cpus - 1} not used by Rx queues, found {len(unused… 95 """Configure RPS for all Rx queues.""" [all …]
|
| H A D | rss_ctx.py | 72 # Get Rx packet counts for all queues, as a simple list of integers 89 # - "target": required, which queues we expect to get iperf traffic 90 # - "empty": optional, which queues should see no traffic at all 91 # - "noise": optional, which queues we expect to see low traffic; 92 # used for queues of the main context, since some background 93 # OS activity may use those queues while we're testing 105 f"traffic on other queues ({name})':" + str(cnts)) 108 f"traffic on inactive queues ({name}): " + str(cnts)) 123 raise KsftSkipEx("Device has fewer than 3 queues (or doesn't support queue stats)") 167 # Check we only get traffic on the first 2 queues [all …]
|
| /linux/Documentation/block/ |
| H A D | blk-mq.rst | 37 spawns multiple queues with individual entry points local to the CPU, removing 49 blk-mq has two group of queues: software staging queues and hardware dispatch 50 queues. When the request arrives at the block layer, it will try the shortest 56 Then, after the requests are processed by software queues, they will be placed 62 Software staging queues 65 The block IO subsystem adds requests in the software staging queues 71 the number of queues is defined by a per-CPU or per-node basis. 93 requests from different queues, otherwise there would be cache trashing and a 99 queue (a.k.a. run the hardware queue), the software queues mapped to that 102 Hardware dispatch queues [all …]
|
| /linux/drivers/media/platform/nxp/imx8-isi/ |
| H A D | imx8-isi-m2m.c | 52 /* Protects the m2m vb2 queues */ 58 } queues; member 85 return &ctx->queues.out; in mxc_isi_m2m_ctx_qdata() 87 return &ctx->queues.cap; in mxc_isi_m2m_ctx_qdata() 112 src_vbuf->sequence = ctx->queues.out.sequence++; in mxc_isi_m2m_frame_write_done() 113 dst_vbuf->sequence = ctx->queues.cap.sequence++; in mxc_isi_m2m_frame_write_done() 135 .width = ctx->queues.out.format.width, in mxc_isi_m2m_device_run() 136 .height = ctx->queues.out.format.height, in mxc_isi_m2m_device_run() 139 .width = ctx->queues.cap.format.width, in mxc_isi_m2m_device_run() 140 .height = ctx->queues.cap.format.height, in mxc_isi_m2m_device_run() [all …]
|
| /linux/drivers/scsi/aacraid/ |
| H A D | comminit.c | 237 * Fill in addresses of the Comm Area Headers and Queues in aac_alloc_comm() 373 struct aac_entry * queues; in aac_comm_init() local 375 struct aac_queue_block * comm = dev->queues; in aac_comm_init() 394 queues = (struct aac_entry *)(((ulong)headers) + hdrsize); in aac_comm_init() 397 comm->queue[HostNormCmdQueue].base = queues; in aac_comm_init() 399 queues += HOST_NORM_CMD_ENTRIES; in aac_comm_init() 403 comm->queue[HostHighCmdQueue].base = queues; in aac_comm_init() 406 queues += HOST_HIGH_CMD_ENTRIES; in aac_comm_init() 410 comm->queue[AdapNormCmdQueue].base = queues; in aac_comm_init() 413 queues += ADAP_NORM_CMD_ENTRIES; in aac_comm_init() [all …]
|
| /linux/tools/testing/selftests/tc-testing/tc-tests/qdiscs/ |
| H A D | cake_mq.json | 4 "name": "Create CAKE_MQ with default setting (4 queues)", 27 "name": "Create CAKE_MQ with bandwidth limit (4 queues)", 49 "name": "Create CAKE_MQ with rtt time (4 queues)", 71 "name": "Create CAKE_MQ with besteffort flag (4 queues)", 93 "name": "Create CAKE_MQ with diffserv8 flag (4 queues)", 115 "name": "Create CAKE_MQ with diffserv4 flag (4 queues)", 137 "name": "Create CAKE_MQ with flowblind flag (4 queues)", 159 "name": "Create CAKE_MQ with dsthost and nat flag (4 queues)", 181 "name": "Create CAKE_MQ with wash flag (4 queues)", 203 "name": "Create CAKE_MQ with flowblind and no-split-gso flag (4 queues)", [all …]
|
| H A D | taprio.json | 4 "name": "Add taprio Qdisc to multi-queue device (8 queues)", 15 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… 37 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… 59 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… 80 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… 104 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… 126 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… 148 …"cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 2 queues 1@0 1@1 sched-entry … 170 …"cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 2 queues 1@0 1@1 sched-entry … 191 … $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-t… [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/mld/ |
| H A D | rx.h | 14 * @IWL_MLD_RXQ_NOTIF_DEL_BA: notify RSS queues of delBA 23 * This data is echoed by the firmware to all RSS queues and should be DWORD 29 * @payload: data to send to RX queues based on the type (may be empty) 39 * struct iwl_mld_rx_queues_sync - RX queues sync data 41 * @waitq: wait queue for RX queues sync completion 43 * @state: bitmask representing the sync state of RX queues 44 * all RX queues bits are set before sending the command, and the
|
| /linux/drivers/net/ethernet/intel/ixgbe/ |
| H A D | ixgbe_lib.c | 217 /* FCoE uses a linear block of queues so just assigning 1:1 */ in ixgbe_cache_ring_sriov() 238 /* FCoE uses a linear block of queues so just assigning 1:1 */ in ixgbe_cache_ring_sriov() 303 int queues; in ixgbe_xdp_queues() local 305 queues = min_t(int, IXGBE_MAX_XDP_QS, nr_cpu_ids); in ixgbe_xdp_queues() 306 return adapter->xdp_prog ? queues : 0; in ixgbe_xdp_queues() 318 * ixgbe_set_dcb_sriov_queues: Allocate queues for SR-IOV devices w/ DCB 321 * When SR-IOV (Single Root IO Virtualization) is enabled, allocate queues 322 * and VM pools where appropriate. Also assign queues based on DCB 344 /* limit VMDq instances on the PF by number of Tx queues */ in ixgbe_set_dcb_sriov_queues() 361 /* queues in the remaining pools are available for FCoE */ in ixgbe_set_dcb_sriov_queues() [all …]
|
| /linux/Documentation/arch/arm/keystone/ |
| H A D | knav-qmss.rst | 15 management of the packet queues. Packets are queued/de-queued by writing or 24 knav qmss driver provides a set of APIs to drivers to open/close qmss queues, 25 allocate descriptor pools, map the descriptors, push/pop to queues etc. For 31 Accumulator QMSS queues using PDSP firmware 34 queue or multiple contiguous queues. drivers/soc/ti/knav_qmss_acc.c is the 37 1 or 32 queues per channel. More description on the firmware is available in 56 Use of accumulated queues requires the firmware image to be present in the 57 file system. The driver doesn't acc queues to the supported queue range if
|
| /linux/drivers/scsi/snic/ |
| H A D | vnic_resource.h | 13 RES_TYPE_WQ, /* Work queues */ 14 RES_TYPE_RQ, /* Receive queues */ 15 RES_TYPE_CQ, /* Completion queues */ 31 RES_TYPE_MQ_WQ, /* MQ Work queues */ 32 RES_TYPE_MQ_RQ, /* MQ Receive queues */ 33 RES_TYPE_MQ_CQ, /* MQ Completion queues */
|
| /linux/tools/perf/util/ |
| H A D | powerpc-vpadtl.c | 25 struct auxtrace_queues queues; member 212 struct auxtrace_queues *queues = &vpaq->vpa->queues; in powerpc_vpadtl_get_buffer() local 215 queue = &queues->queue_array[vpaq->queue_nr]; in powerpc_vpadtl_get_buffer() 387 queue = &vpa->queues.queue_array[queue_nr]; in powerpc_vpadtl_process_queues() 439 * increasing order of timestamp. Allocate and setup auxtrace queues here. 440 * All auxtrace queues is maintained in auxtrace heap in the increasing order 491 for (i = 0; i < vpa->queues.nr_queues; i++) { in powerpc_vpadtl__setup_queues() 492 ret = powerpc_vpadtl__setup_queue(vpa, &vpa->queues.queue_array[i], i); in powerpc_vpadtl__setup_queues() 502 if (vpa->queues.new_data) { in powerpc_vpadtl__update_queues() 503 vpa->queues.new_data = false; in powerpc_vpadtl__update_queues() [all …]
|
| /linux/drivers/scsi/fnic/ |
| H A D | vnic_resource.h | 15 RES_TYPE_WQ, /* Work queues */ 16 RES_TYPE_RQ, /* Receive queues */ 17 RES_TYPE_CQ, /* Completion queues */ 33 RES_TYPE_MQ_WQ, /* MQ Work queues */ 34 RES_TYPE_MQ_RQ, /* MQ Receive queues */ 35 RES_TYPE_MQ_CQ, /* MQ Completion queues */
|