/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/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/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/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[ 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/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 | rss_ctx.py | 70 # Get Rx packet counts for all queues, as a simple list of integers 87 # - "target": required, which queues we expect to get iperf traffic 88 # - "empty": optional, which queues should see no traffic at all 89 # - "noise": optional, which queues we expect to see low traffic; 90 # used for queues of the main context, since some background 91 # OS activity may use those queues while we're testing 103 f"traffic on other queues ({name})':" + str(cnts)) 106 f"traffic on inactive queues ({name}): " + str(cnts)) 121 raise KsftSkipEx("Device has fewer than 3 queues (or doesn't support queue stats)") 165 # 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/Documentation/networking/ |
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 69 Some advanced NICs allow steering packets to queues based on 79 module parameter for specifying the number of hardware queues to 82 for each CPU if the device supports enough queues, or otherwise at least 88 default mapping is to distribute the queues evenly in the table, but the 91 indirection table could be done to give different queues different 102 of queues to IRQs can be determined from /proc/interrupts. By default, 117 is to allocate as many queues as there are CPUs in the system (or the 119 is likely the one with the smallest number of receive queues where no [all …]
|
H A D | tc-queue-filters.rst | 7 TC can be used for directing traffic to either a set of queues or 12 1) TC filter directing traffic to a set of queues is achieved 14 the priority maps to a traffic class (set of queues) when 23 queues and/or a single queue are supported as below: 25 1) TC flower filter directs incoming traffic to a set of queues using
|
H A D | multiqueue.rst | 18 the subqueue memory, as well as netdev configuration of where the queues 21 The base driver will also need to manage the queues as it does the global 33 A new round-robin qdisc, sch_multiq also supports multiple hardware queues. The 35 bands and queues based on the value in skb->queue_mapping. Use this field in 42 On qdisc load, the number of bands is based on the number of queues on the 56 The qdisc will allocate the number of bands to equal the number of queues that 58 queues, the band mapping would look like::
|
/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/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/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/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 Virtualiztion) 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/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 */
|
/linux/tools/testing/selftests/tc-testing/tc-tests/qdiscs/ |
H A D | taprio.json | 4 "name": "Add taprio Qdisc to multi-queue device (8 queues)", 15 "cmdUnderTest": "$TC qdisc add dev $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-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", 37 "cmdUnderTest": "$TC qdisc add dev $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-time 1000000000 sched-entry S 01 300000 sched-entry S 03 300000 sched-entry S 04 400000 flags 0x1 clockid CLOCK_TAI", 59 "cmdUnderTest": "$TC qdisc add dev $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-time 1000000000 sched-entry S 01 300000 flags 0x1 txtime-delay 500000 clockid CLOCK_TAI", 80 "$TC qdisc add dev $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-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI" 104 "cmdUnderTest": "$TC qdisc add dev $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-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", 126 "cmdUnderTest": "$TC qdisc add dev $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-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", 148 "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 2 queues 1@0 1@1 sched-entry S 01 300 sched-entry S 02 1700 clockid CLOCK_TAI", 170 "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 2 queues 1@0 1@1 sched-entry S 01 200000 sched-entry S 02 200000 cycle-time 100 clockid CLOCK_TAI", 191 "$TC qdisc add dev $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 [all...] |
/linux/drivers/net/ethernet/cisco/enic/ |
H A D | vnic_resource.h | 21 RES_TYPE_WQ, /* Work queues */ 22 RES_TYPE_RQ, /* Receive queues */ 23 RES_TYPE_CQ, /* Completion queues */ 39 RES_TYPE_MQ_WQ, /* MQ Work queues */ 40 RES_TYPE_MQ_RQ, /* MQ Receive queues */ 41 RES_TYPE_MQ_CQ, /* MQ Completion queues */
|
/linux/Documentation/networking/device_drivers/ethernet/google/ |
H A D | gve.rst | 47 - Transmit and Receive Queues 109 The handler for the management irq simply queues the service task in 115 the queues associated with that interrupt. 118 and poll the queues. 120 GQI Traffic Queues 122 GQI queues are composed of a descriptor ring and a buffer and are assigned to a 145 DQO Traffic Queues 149 - TX and RX buffers queues, which send descriptors to the device, use MMIO 152 - RX and TX completion queues, which receive descriptors from the device, use a 160 queues are not overrun. This can be accomplished by limiting the number of [all …]
|
/linux/block/ |
H A D | blk-mq-cpumap.c | 30 * blk_mq_num_possible_queues - Calc nr of queues for multiqueue devices 31 * @max_queues: The maximum number of queues the hardware/driver 35 * Calculates the number of queues to be used for a multiqueue 45 * blk_mq_num_online_queues - Calc nr of queues for multiqueue devices 46 * @max_queues: The maximum number of queues the hardware/driver 50 * Calculates the number of queues to be used for a multiqueue 102 * @dev: The device to map queues
|
/linux/drivers/net/ethernet/intel/idpf/ |
H A D | virtchnl2.h | 108 * In the split queue model, hardware uses transmit completion queues to post 110 * descriptor queues to post descriptors to hardware. 112 * queue, while software uses receive buffer queues to post buffers to hardware. 495 * @max_rx_q: Maximum number of supported Rx queues. 496 * @max_tx_q: Maximum number of supported Tx queues. 497 * @max_rx_bufq: Maximum number of supported buffer queues. 498 * @max_tx_complq: Maximum number of supported completion queues. 572 * @num_queues: Number of queues in the chunk. 591 * queues. 625 * @num_tx_q: Number of Tx queues. [all …]
|
/linux/Documentation/devicetree/bindings/misc/ |
H A D | intel,ixp4xx-ahb-queue-manager.yaml | 14 The IXP4xx AHB Queue Manager maintains queues as circular buffers in 17 IXP4xx for accelerating queues, especially for networking. Clients pick 18 queues from the queue manager with foo-queue = <&qmgr N> where the 33 - description: Interrupt for queues 0-31 34 - description: Interrupt for queues 32-63
|
/linux/sound/virtio/ |
H A D | virtio_card.h | 47 * @queues: Virtqueue wrappers. 64 struct virtio_snd_queue queues[VIRTIO_SND_VQ_MAX]; member 86 return &snd->queues[VIRTIO_SND_VQ_CONTROL]; in virtsnd_control_queue() 92 return &snd->queues[VIRTIO_SND_VQ_EVENT]; in virtsnd_event_queue() 98 return &snd->queues[VIRTIO_SND_VQ_TX]; in virtsnd_tx_queue() 104 return &snd->queues[VIRTIO_SND_VQ_RX]; in virtsnd_rx_queue()
|