| /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...] |
| H A D | stats.py | 158 queues = NetdevFamily(recv_size=4096).qstats_get({"scope": "queue"}, dump=True) 161 for entry in queues: 167 for ifindex, queues in parsed.items(): 169 ksft_eq(len(queues[qtype]), len(set(queues[qtype])), 171 ksft_eq(len(queues[qtype]), max(queues[qtype]) + 1, 266 # Set a large number of queues,
|
| /linux/drivers/gpu/drm/imagination/ |
| H A D | pvr_context.c | 174 pvr_queue_destroy(ctx->queues.fragment, cleanup_queue_entity); in pvr_context_destroy_queues() 175 pvr_queue_destroy(ctx->queues.geometry, cleanup_queue_entity); in pvr_context_destroy_queues() 178 pvr_queue_destroy(ctx->queues.compute, cleanup_queue_entity); in pvr_context_destroy_queues() 181 pvr_queue_destroy(ctx->queues.transfer, cleanup_queue_entity); in pvr_context_destroy_queues() 204 ctx->queues.geometry = pvr_queue_create(ctx, DRM_PVR_JOB_TYPE_GEOMETRY, in pvr_context_create_queues() 206 if (IS_ERR(ctx->queues.geometry)) { in pvr_context_create_queues() 207 err = PTR_ERR(ctx->queues.geometry); in pvr_context_create_queues() 208 ctx->queues.geometry = NULL; in pvr_context_create_queues() 212 ctx->queues.fragment = pvr_queue_create(ctx, DRM_PVR_JOB_TYPE_FRAGMENT, in pvr_context_create_queues() 214 if (IS_ERR(ctx->queues.fragment)) { in pvr_context_create_queues() [all …]
|
| H A D | pvr_queue.c | 524 struct pvr_queue *frag_queue = frag_job ? frag_job->ctx->queues.fragment : NULL; in pvr_queue_get_paired_frag_job_dep() 624 lockdep_assert_held(&pvr_dev->queues.lock); in pvr_queue_update_active_state_locked() 634 list_move_tail(&queue->node, &pvr_dev->queues.idle); in pvr_queue_update_active_state_locked() 636 list_move_tail(&queue->node, &pvr_dev->queues.active); in pvr_queue_update_active_state_locked() 656 mutex_lock(&pvr_dev->queues.lock); in pvr_queue_update_active_state() 658 mutex_unlock(&pvr_dev->queues.lock); in pvr_queue_update_active_state() 789 struct pvr_queue *geom_queue = job->ctx->queues.geometry; in pvr_queue_run_job() 790 struct pvr_queue *frag_queue = job->ctx->queues.fragment; in pvr_queue_run_job() 888 mutex_lock(&pvr_dev->queues.lock); in pvr_queue_timedout_job() 890 mutex_unlock(&pvr_dev->queues.lock); in pvr_queue_timedout_job() [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[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/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 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() 278 skb = skb_dequeue(&queues[i]->cab); in wfx_tx_queues_get_skb() [all …]
|
| /linux/drivers/scsi/aacraid/ |
| H A D | comminit.c | 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() 417 comm->queue[AdapHighCmdQueue].base = queues; in aac_comm_init() [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/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/tools/perf/util/ |
| H A D | powerpc-vpadtl.c | 26 struct auxtrace_queues queues; 215 struct auxtrace_queues *queues = &vpaq->vpa->queues; in powerpc_vpadtl_get_buffer() 218 queue = &queues->queue_array[vpaq->queue_nr]; in powerpc_vpadtl_get_buffer() 390 queue = &vpa->queues.queue_array[queue_nr]; in powerpc_vpadtl_process_queues() 442 * increasing order of timestamp. Allocate and setup auxtrace queues here. 443 * All auxtrace queues is maintained in auxtrace heap in the increasing order 494 for (i = 0; i < vpa->queues.nr_queues; i++) { in powerpc_vpadtl__setup_queues() 495 ret = powerpc_vpadtl__setup_queue(vpa, &vpa->queues.queue_array[i], i); in powerpc_vpadtl__setup_queues() 505 if (vpa->queues in powerpc_vpadtl__update_queues() 25 struct auxtrace_queues queues; global() member 212 struct auxtrace_queues *queues = &vpaq->vpa->queues; powerpc_vpadtl_get_buffer() local 585 struct auxtrace_queues *queues = &vpa->queues; powerpc_vpadtl_free_events() local [all...] |
| H A D | intel-bts.c | 46 struct auxtrace_queues queues; member 211 for (i = 0; i < bts->queues.nr_queues; i++) { in intel_bts_setup_queues() 212 ret = intel_bts_setup_queue(bts, &bts->queues.queue_array[i], in intel_bts_setup_queues() 222 if (bts->queues.new_data) { in intel_bts_update_queues() 223 bts->queues.new_data = false; in intel_bts_update_queues() 468 queue = &btsq->bts->queues.queue_array[btsq->queue_nr]; in intel_bts_process_queue() 542 struct auxtrace_queues *queues = &bts->queues; in intel_bts_process_tid_exit() 545 for (i = 0; i < queues->nr_queues; i++) { in intel_bts_process_tid_exit() 546 struct auxtrace_queue *queue = &bts->queues in intel_bts_process_tid_exit() 541 struct auxtrace_queues *queues = &bts->queues; intel_bts_process_tid_exit() local 712 struct auxtrace_queues *queues = &bts->queues; intel_bts_free_events() local [all...] |
| H A D | auxtrace.c | 235 int auxtrace_queues__init_nr(struct auxtrace_queues *queues, int nr_queues) in auxtrace_queues__init_nr() argument 237 queues->nr_queues = nr_queues; in auxtrace_queues__init_nr() 238 queues->queue_array = auxtrace_alloc_queue_array(queues->nr_queues); in auxtrace_queues__init_nr() 239 if (!queues->queue_array) in auxtrace_queues__init_nr() 244 int auxtrace_queues__init(struct auxtrace_queues *queues) in auxtrace_queues__init() argument 246 return auxtrace_queues__init_nr(queues, AUXTRACE_INIT_NR_QUEUES); in auxtrace_queues__init() 249 static int auxtrace_queues__grow(struct auxtrace_queues *queues, in auxtrace_queues__grow() argument 252 unsigned int nr_queues = queues->nr_queues; in auxtrace_queues__grow() 254 struct auxtrace_queue *old_array = queues in auxtrace_queues__grow() 306 auxtrace_queues__queue_buffer(struct auxtrace_queues * queues,unsigned int idx,struct auxtrace_buffer * buffer) auxtrace_queues__queue_buffer() argument 340 auxtrace_queues__split_buffer(struct auxtrace_queues * queues,unsigned int idx,struct auxtrace_buffer * buffer) auxtrace_queues__split_buffer() argument 378 auxtrace_queues__add_buffer(struct auxtrace_queues * queues,struct perf_session * session,unsigned int idx,struct auxtrace_buffer * buffer,struct auxtrace_buffer ** buffer_ptr) auxtrace_queues__add_buffer() argument 423 auxtrace_queues__add_event(struct auxtrace_queues * queues,struct perf_session * session,union perf_event * event,off_t data_offset,struct auxtrace_buffer ** buffer_ptr) auxtrace_queues__add_event() argument 443 auxtrace_queues__add_indexed_event(struct auxtrace_queues * queues,struct perf_session * session,off_t file_offset,size_t sz) auxtrace_queues__add_indexed_event() argument 470 auxtrace_queues__free(struct auxtrace_queues * queues) auxtrace_queues__free() argument 1065 auxtrace_queues__process_index_entry(struct auxtrace_queues * queues,struct perf_session * session,struct auxtrace_index_entry * ent) auxtrace_queues__process_index_entry() argument 1073 auxtrace_queues__process_index(struct auxtrace_queues * queues,struct perf_session * session) auxtrace_queues__process_index() argument 1113 auxtrace_queues__sample_queue(struct auxtrace_queues * queues,struct perf_sample * sample,struct perf_session * session) auxtrace_queues__sample_queue() argument 1137 auxtrace_queues__add_sample(struct auxtrace_queues * queues,struct perf_session * session,struct perf_sample * sample,u64 data_offset,u64 reference) auxtrace_queues__add_sample() argument [all...] |
| H A D | s390-cpumsf.c | 170 struct auxtrace_queues queues; member 203 if (!sf->use_logfile || sf->queues.nr_queues <= sample->cpu) in s390_cpumcf_dumpctr() 206 q = &sf->queues.queue_array[sample->cpu]; in s390_cpumcf_dumpctr() 703 queue = &sfq->sf->queues.queue_array[sfq->queue_nr]; in s390_cpumsf_run_decoder() 827 for (i = 0; i < sf->queues.nr_queues; i++) { in s390_cpumsf_setup_queues() 828 ret = s390_cpumsf_setup_queue(sf, &sf->queues.queue_array[i], in s390_cpumsf_setup_queues() 838 if (!sf->queues.new_data) in s390_cpumsf_update_queues() 841 sf->queues.new_data = false; in s390_cpumsf_update_queues() 862 queue = &sf->queues.queue_array[queue_nr]; in s390_cpumsf_process_queues() 982 err = auxtrace_queues__add_event(&sf->queues, session, event, in s390_cpumsf_process_auxtrace_event() [all …]
|
| /linux/sound/virtio/ |
| H A D | virtio_card.h | 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()
|
| /linux/drivers/target/ |
| H A D | target_core_tmr.c | 118 flush_work(&dev->queues[i].sq.work); in core_tmr_abort_task() 120 spin_lock_irqsave(&dev->queues[i].lock, flags); in core_tmr_abort_task() 121 list_for_each_entry_safe(se_cmd, next, &dev->queues[i].state_list, in core_tmr_abort_task() 148 spin_unlock_irqrestore(&dev->queues[i].lock, flags); in core_tmr_abort_task() 163 spin_unlock_irqrestore(&dev->queues[i].lock, flags); in core_tmr_abort_task() 301 flush_work(&dev->queues[i].sq.work); in core_tmr_drain_state_list() 303 spin_lock_irqsave(&dev->queues[i].lock, flags); in core_tmr_drain_state_list() 304 list_for_each_entry_safe(cmd, next, &dev->queues[i].state_list, in core_tmr_drain_state_list() 333 spin_unlock_irqrestore(&dev->queues[i].lock, flags); in core_tmr_drain_state_list()
|
| /linux/include/linux/ |
| H A D | ptr_ring.h | 654 void ***queues; in ptr_ring_resize_multiple_bh_noprof() local 657 queues = kmalloc_array_noprof(nrings, sizeof(*queues), gfp); in ptr_ring_resize_multiple_bh_noprof() 658 if (!queues) in ptr_ring_resize_multiple_bh_noprof() 662 queues[i] = __ptr_ring_init_queue_alloc_noprof(size, gfp); in ptr_ring_resize_multiple_bh_noprof() 663 if (!queues[i]) in ptr_ring_resize_multiple_bh_noprof() 670 queues[i] = __ptr_ring_swap_queue(rings[i], queues[i], in ptr_ring_resize_multiple_bh_noprof() 677 kvfree(queues[i]); in ptr_ring_resize_multiple_bh_noprof() 679 kfree(queues); in ptr_ring_resize_multiple_bh_noprof() 685 kvfree(queues[i]); in ptr_ring_resize_multiple_bh_noprof() 687 kfree(queues); in ptr_ring_resize_multiple_bh_noprof()
|
| /linux/Documentation/networking/ |
| 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/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/vdpa/alibaba/ |
| H A D | eni_vdpa.c | 45 int queues; member 118 for (i = 0; i < eni_vdpa->queues; i++) { in eni_vdpa_free_irq() 164 int queues = eni_vdpa->queues; in eni_vdpa_request_irq() local 165 int vectors = queues + 1; in eni_vdpa_request_irq() 177 for (i = 0; i < queues; i++) { in eni_vdpa_request_irq() 195 irq = pci_irq_vector(pdev, queues); in eni_vdpa_request_irq() 202 vp_legacy_config_vector(ldev, queues); in eni_vdpa_request_irq() 501 eni_vdpa->queues = eni_vdpa_get_num_queues(eni_vdpa); in eni_vdpa_probe() 503 eni_vdpa->vring = devm_kcalloc(&pdev->dev, eni_vdpa->queues, in eni_vdpa_probe() 512 for (i = 0; i < eni_vdpa->queues; i++) { in eni_vdpa_probe() [all …]
|
| /linux/arch/arm64/boot/dts/st/ |
| H A D | stm32mp253.dtsi | 74 mtl_rx_setup_2: rx-queues-config { 75 snps,rx-queues-to-use = <2>; 80 mtl_tx_setup_2: tx-queues-config { 81 snps,tx-queues-to-use = <4>;
|
| H A D | stm32mp233.dtsi | 74 mtl_rx_setup_2: rx-queues-config { 75 snps,rx-queues-to-use = <2>; 80 mtl_tx_setup_2: tx-queues-config { 81 snps,tx-queues-to-use = <4>;
|
| /linux/drivers/net/ethernet/netronome/nfp/ |
| H A D | nfp_net_debugfs.c | 131 struct dentry *queues, *tx, *rx, *xdp; in nfp_net_debugfs_vnic_add() local 145 queues = debugfs_create_dir("queue", nn->debugfs_dir); in nfp_net_debugfs_vnic_add() 147 rx = debugfs_create_dir("rx", queues); in nfp_net_debugfs_vnic_add() 148 tx = debugfs_create_dir("tx", queues); in nfp_net_debugfs_vnic_add() 149 xdp = debugfs_create_dir("xdp", queues); in nfp_net_debugfs_vnic_add()
|
| /linux/Documentation/networking/device_drivers/ethernet/freescale/dpaa2/ |
| H A D | ethernet-driver.rst | 25 - queues, channels 32 hardware resources, like queues, do not have a corresponding MC object and 99 queues ---------------------- | | Buffer pool | 109 Frames are transmitted and received through hardware frame queues, which can be 111 enqueues TX frames on egress queues and after transmission is complete a TX 114 When frames are available on ingress queues, a data availability notification 116 queues in the same channel have available frames, only one notification is sent. 119 Each network interface can have multiple Rx, Tx and confirmation queues affined
|