Home
last modified time | relevance | path

Searched refs:wq (Results 1 – 25 of 642) sorted by relevance

12345678910>>...26

/linux/drivers/net/ethernet/mellanox/mlx5/core/
A Dwq.h107 return wq->cur_sz == wq->sz; in mlx5_wq_cyc_is_full()
112 return wq->sz - wq->cur_sz; in mlx5_wq_cyc_missing()
139 *wq->db = cpu_to_be32(wq->wqe_ctr); in mlx5_wq_cyc_update_db_record()
149 return mlx5_wq_cyc_ctr2ix(wq, wq->wqe_ctr); in mlx5_wq_cyc_get_head()
154 return mlx5_wq_cyc_ctr2ix(wq, wq->wqe_ctr - wq->cur_sz); in mlx5_wq_cyc_get_tail()
197 return mlx5_cqwq_ctr2ix(wq, wq->cc); in mlx5_cqwq_get_ci()
217 return mlx5_cqwq_get_ctr_wrap_cnt(wq, wq->cc); in mlx5_cqwq_get_wrap_cnt()
227 *wq->db = cpu_to_be32(wq->cc & 0xffffff); in mlx5_cqwq_update_db_record()
253 return wq->cur_sz == wq->fbc.sz_m1; in mlx5_wq_ll_is_full()
263 return wq->fbc.sz_m1 - wq->cur_sz; in mlx5_wq_ll_missing()
[all …]
A Dwq.c52 wq->db = wq_ctrl->db.db; in mlx5_wq_cyc_create()
62 wq->sz = mlx5_wq_cyc_get_size(wq); in mlx5_wq_cyc_create()
88 mlx5_wq_cyc_get_size(wq), wq->cur_sz, ix, len); in mlx5_wq_cyc_wqe_dump()
94 wq->wqe_ctr = 0; in mlx5_wq_cyc_reset()
95 wq->cur_sz = 0; in mlx5_wq_cyc_reset()
138 &wq->sq.fbc); in mlx5_wq_qp_create()
174 wq->db = wq_ctrl->db.db; in mlx5_cqwq_create()
225 wq->db = wq_ctrl->db.db; in mlx5_wq_ll_create()
249 wq->head = 0; in mlx5_wq_ll_reset()
250 wq->wqe_ctr = 0; in mlx5_wq_ll_reset()
[all …]
/linux/drivers/scsi/fnic/
A Dvnic_wq.c33 if (!wq->ctrl) in vnic_wq_get_ctrl()
79 wq->to_use = wq->to_clean = wq->bufs[0]; in vnic_wq_alloc_bufs()
89 vdev = wq->vdev; in vnic_wq_free()
98 wq->ctrl = NULL; in vnic_wq_free()
108 wq->vdev = vdev; in vnic_wq_alloc()
111 if (!wq->ctrl) { in vnic_wq_alloc()
137 wq->index = 0; in vnic_wq_devcmd2_alloc()
138 wq->vdev = vdev; in vnic_wq_devcmd2_alloc()
171 wq->to_use = wq->to_clean = in vnic_wq_init_start()
185 iowrite32(wq->ring.desc_count, &wq->ctrl->ring_size); in vnic_wq_init()
[all …]
A Dvnic_wq_copy.h43 return wq->ring.desc_count - 1 - wq->ring.desc_avail; in vnic_wq_copy_desc_in_use()
55 ((wq->to_use_index + 1) == wq->ring.desc_count) ? in vnic_wq_copy_post()
56 (wq->to_use_index = 0) : (wq->to_use_index++); in vnic_wq_copy_post()
57 wq->ring.desc_avail--; in vnic_wq_copy_post()
66 iowrite32(wq->to_use_index, &wq->ctrl->posted_index); in vnic_wq_copy_post()
76 cnt = wq->ring.desc_count - wq->to_clean_index + index + 1; in vnic_wq_copy_desc_process()
78 wq->to_clean_index = ((index + 1) % wq->ring.desc_count); in vnic_wq_copy_desc_process()
94 (*q_service)(wq, &wq_desc[wq->to_clean_index]); in vnic_wq_copy_service()
103 ((wq->to_clean_index + 1) == wq->ring.desc_count) ? in vnic_wq_copy_service()
104 (wq->to_clean_index = 0) : (wq->to_clean_index++); in vnic_wq_copy_service()
[all …]
A Dvnic_wq_copy.c27 iowrite32(1, &wq->ctrl->enable); in vnic_wq_copy_enable()
45 wq->index, ioread32(&wq->ctrl->fetch_index), in vnic_wq_copy_disable()
60 wq->to_use_index = wq->to_clean_index = 0; in vnic_wq_copy_clean()
73 vdev = wq->vdev; in vnic_wq_copy_free()
75 wq->ctrl = NULL; in vnic_wq_copy_free()
82 wq->index = index; in vnic_wq_copy_alloc()
83 wq->vdev = vdev; in vnic_wq_copy_alloc()
84 wq->to_use_index = wq->to_clean_index = 0; in vnic_wq_copy_alloc()
86 if (!wq->ctrl) { in vnic_wq_copy_alloc()
91 vnic_wq_copy_disable(wq); in vnic_wq_copy_alloc()
[all …]
A Dvnic_wq.h101 return wq->ring.desc_avail; in vnic_wq_desc_avail()
107 return wq->ring.desc_count - wq->ring.desc_avail - 1; in vnic_wq_desc_used()
112 return wq->to_use->desc; in vnic_wq_next_desc()
119 struct vnic_wq_buf *buf = wq->to_use; in vnic_wq_post()
136 wq->to_use = buf; in vnic_wq_post()
138 wq->ring.desc_avail--; in vnic_wq_post()
149 buf = wq->to_clean; in vnic_wq_service()
154 wq->ring.desc_avail++; in vnic_wq_service()
156 wq->to_clean = buf->next; in vnic_wq_service()
161 buf = wq->to_clean; in vnic_wq_service()
[all …]
/linux/drivers/net/ethernet/cisco/enic/
A Dvnic_wq.c39 if (!wq->bufs[i]) in vnic_wq_alloc_bufs()
64 wq->to_use = wq->to_clean = wq->bufs[0]; in vnic_wq_alloc_bufs()
74 vdev = wq->vdev; in vnic_wq_free()
85 wq->ctrl = NULL; in vnic_wq_free()
94 wq->vdev = vdev; in vnic_wq_alloc()
97 if (!wq->ctrl) { in vnic_wq_alloc()
122 wq->index = 0; in enic_wq_devcmd2_alloc()
123 wq->vdev = vdev; in enic_wq_devcmd2_alloc()
126 if (!wq->ctrl) in enic_wq_devcmd2_alloc()
152 wq->to_use = wq->to_clean = in enic_wq_init_start()
[all …]
A Dvnic_wq.h99 struct vnic_wq wq; member
106 return wq->ring.desc_avail; in vnic_wq_desc_avail()
112 return wq->ring.desc_count - wq->ring.desc_avail - 1; in vnic_wq_desc_used()
117 return wq->to_use->desc; in vnic_wq_next_desc()
128 iowrite32(wq->to_use->index, &wq->ctrl->posted_index); in vnic_wq_doorbell()
137 struct vnic_wq_buf *buf = wq->to_use; in vnic_wq_post()
149 wq->to_use = buf; in vnic_wq_post()
162 buf = wq->to_clean; in vnic_wq_service()
167 wq->ring.desc_avail++; in vnic_wq_service()
169 wq->to_clean = buf->next; in vnic_wq_service()
[all …]
/linux/drivers/scsi/snic/
A Dvnic_wq.c30 if (!wq->ctrl) in vnic_wq_get_ctrl()
59 buf = wq->bufs[i]; in vnic_wq_alloc_bufs()
76 wq->to_use = wq->to_clean = wq->bufs[0]; in vnic_wq_alloc_bufs()
86 vdev = wq->vdev; in svnic_wq_free()
95 wq->ctrl = NULL; in svnic_wq_free()
104 wq->index = 0; in vnic_wq_devcmd2_alloc()
105 wq->vdev = vdev; in vnic_wq_devcmd2_alloc()
128 wq->index = index; in svnic_wq_alloc()
129 wq->vdev = vdev; in svnic_wq_alloc()
172 wq->to_use = wq->to_clean = in vnic_wq_init_start()
[all …]
A Dvnic_wq.h88 return wq->ring.desc_avail; in svnic_wq_desc_avail()
94 return wq->ring.desc_count - wq->ring.desc_avail - 1; in svnic_wq_desc_used()
99 return wq->to_use->desc; in svnic_wq_next_desc()
106 struct vnic_wq_buf *buf = wq->to_use; in svnic_wq_post()
123 wq->to_use = buf; in svnic_wq_post()
125 wq->ring.desc_avail--; in svnic_wq_post()
136 buf = wq->to_clean; in svnic_wq_service()
141 wq->ring.desc_avail++; in svnic_wq_service()
143 wq->to_clean = buf->next; in svnic_wq_service()
148 buf = wq->to_clean; in svnic_wq_service()
[all …]
/linux/drivers/net/ethernet/huawei/hinic/
A Dhinic_hw_wq.c34 #define WQ_SIZE(wq) ((wq)->q_depth * (wq)->wqebb_size) argument
69 ((wq)->shadow_block_vaddr[WQE_PAGE_NUM(wq, idx)])
384 size = wq->num_q_pages * wq->max_wqe_size; in alloc_wqes_shadow()
389 size = wq->num_q_pages * sizeof(wq->prod_idx); in alloc_wqes_shadow()
453 num_q_pages = ALIGN(WQ_SIZE(wq), wq->wq_page_size) / wq->wq_page_size; in alloc_wq_pages()
555 wq->block_vaddr = WQ_BASE_VADDR(wqs, wq); in hinic_wq_allocate()
556 wq->shadow_block_vaddr = WQ_BASE_ADDR(wqs, wq); in hinic_wq_allocate()
557 wq->block_paddr = WQ_BASE_PADDR(wqs, wq); in hinic_wq_allocate()
573 wqs_return_block(wqs, wq->page_idx, wq->block_idx); in hinic_wq_allocate()
584 free_wq_pages(wq, wqs->hwif, wq->num_q_pages); in hinic_wq_free()
[all …]
/linux/drivers/dma/idxd/
A Ddevice.c142 num_descs = wq_dedicated(wq) ? wq->size : wq->threshold; in idxd_wq_alloc_resources()
175 desc->wq = wq; in idxd_wq_alloc_resources()
184 dma_free_coherent(dev, wq->compls_size, wq->compls, wq->compls_addr); in idxd_wq_alloc_resources()
199 dma_free_coherent(dev, wq->compls_size, wq->compls, wq->compls_addr); in idxd_wq_free_resources()
831 wq->wqcfg->wq_size = wq->size; in idxd_wq_config_write()
840 wq->wqcfg->wq_thresh = wq->threshold; in idxd_wq_config_write()
871 wq->wqcfg->priority = wq->priority; in idxd_wq_config_write()
1041 wq->size = wq->wqcfg->wq_size; in idxd_wq_load_config()
1042 wq->threshold = wq->wqcfg->wq_thresh; in idxd_wq_load_config()
1050 wq->priority = wq->wqcfg->priority; in idxd_wq_load_config()
[all …]
A Dcdev.c35 struct idxd_wq *wq; member
46 struct idxd_wq *wq = idxd_cdev->wq; in idxd_cdev_dev_release() local
83 idxd = wq->idxd; in idxd_cdev_open()
94 if (idxd_wq_refcount(wq) > 0 && wq_dedicated(wq)) { in idxd_cdev_open()
99 ctx->wq = wq; in idxd_cdev_open()
130 idxd_wq_get(wq); in idxd_cdev_open()
143 struct idxd_wq *wq = ctx->wq; in idxd_cdev_release() local
169 idxd_wq_put(wq); in idxd_cdev_release()
193 struct idxd_wq *wq = ctx->wq; in idxd_cdev_mmap() local
219 struct idxd_wq *wq = ctx->wq; in idxd_cdev_poll() local
[all …]
A Ddma.c20 return idxd_chan->wq; in to_idxd_wq()
114 idxd_wq_get(wq); in idxd_dma_alloc_chan_resources()
116 idxd_wq_refcount(wq)); in idxd_dma_alloc_chan_resources()
125 idxd_wq_put(wq); in idxd_dma_free_chan_resources()
249 idxd_chan->wq = wq; in idxd_register_dma_channel()
263 kfree(wq->idxd_chan); in idxd_unregister_dma_channel()
264 wq->idxd_chan = NULL; in idxd_unregister_dma_channel()
313 idxd_wq_quiesce(wq); in idxd_dmaengine_drv_probe()
318 __drv_disable_wq(wq); in idxd_dmaengine_drv_probe()
330 idxd_wq_quiesce(wq); in idxd_dmaengine_drv_remove()
[all …]
A Dsubmit.c14 struct idxd_device *idxd = wq->idxd; in __get_desc()
16 desc = wq->descs[idx]; in __get_desc()
29 desc->hw->int_handle = wq->id + 1; in __get_desc()
47 sbq = &wq->sbq; in idxd_alloc_desc()
53 return __get_desc(wq, idx, cpu); in idxd_alloc_desc()
71 return __get_desc(wq, idx, cpu); in idxd_alloc_desc()
159 idxd_free_desc(wq, desc); in idxd_submit_desc()
164 idxd_free_desc(wq, desc); in idxd_submit_desc()
186 if (wq_dedicated(wq)) { in idxd_submit_desc()
202 idxd_free_desc(wq, desc); in idxd_submit_desc()
[all …]
A Didxd.h138 struct idxd_wq *wq; member
161 struct idxd_wq *wq; member
292 struct workqueue_struct *wq; member
317 struct idxd_wq *wq; member
329 #define wq_confdev(wq) &wq->idxd_dev.conf_dev argument
415 if (wq->type == IDXD_WQT_KERNEL && strcmp(wq->name, "dmaengine") == 0) in is_idxd_wq_dmaengine()
483 int ofs = wq->portal_offset; in idxd_wq_portal_addr()
486 return wq->portal + ofs; in idxd_wq_portal_addr()
491 wq->client_count++; in idxd_wq_get()
496 wq->client_count--; in idxd_wq_put()
[all …]
/linux/fs/autofs/
A Dwaitq.c30 while (wq) { in autofs_catatonic_mode()
33 kfree(wq->name.name - wq->offset); in autofs_catatonic_mode()
37 wq = nwq; in autofs_catatonic_mode()
93 wq->name.len, wq->name.name, type); in autofs_notify_daemon()
110 memcpy(mp->name, wq->name.name, wq->name.len); in autofs_notify_daemon()
123 memcpy(ep->name, wq->name.name, wq->name.len); in autofs_notify_daemon()
143 memcpy(packet->name, wq->name.name, wq->name.len); in autofs_notify_daemon()
183 for (wq = sbi->queues; wq; wq = wq->next) { in autofs_find_wait()
190 return wq; in autofs_find_wait()
215 if (wq) { in validate_request()
[all …]
/linux/fs/btrfs/
A Dasync-thread.c192 wq->count++; in thresh_exec_hook()
193 wq->count %= (wq->thresh / 4); in thresh_exec_hook()
321 wq = work->wq; in btrfs_work_helper()
358 work->wq = wq; in __btrfs_queue_work()
386 kfree(wq); in __btrfs_destroy_workqueue()
391 if (!wq) in btrfs_destroy_workqueue()
393 if (wq->high) in btrfs_destroy_workqueue()
396 kfree(wq); in btrfs_destroy_workqueue()
401 if (!wq) in btrfs_workqueue_set_max()
404 if (wq->high) in btrfs_workqueue_set_max()
[all …]
/linux/Documentation/translations/zh_CN/core-api/
A Dworkqueue.rst39 在最初的wq实现中,多线程(MT)wq在每个CPU上有一个工作者线程,而单线程
40 (ST)wq在全系统有一个工作者线程。一个MT wq需要保持与CPU数量相同的工
45 制在ST和MT wq中都有,只是在MT中没有那么严重。每个wq都保持着自己独立的
46 工作者池。一个MT wq只能为每个CPU提供一个执行环境,而一个ST wq则为整个
121 的工作项都需要在wq上排队,wq上保留了一个救援工作者,以便在内存有压
155 一个可冻结的wq参与了系统暂停操作的冻结阶段。wq上的工作项被
191 时执行16个wq的工作项。
198 一个wq的活动工作项的数量通常由wq的用户来调节,更具体地说,是由用
262 现在,我们假设w1和w2被排到了不同的wq q1上,这个wq q1
284 它们应该被排在不同的wq中,每个wq都有 ``WQ_MEM_RECLAIM`` 。
[all …]
/linux/kernel/
A Dworkqueue.c1671 dwork->wq = wq; in __queue_delayed_work()
1775 rwork->wq = wq; in queue_rcu_work()
2042 struct workqueue_struct *wq = pwq->wq; in send_mayday() local
3504 if (wq->lock_name != wq->name) in wq_free_lockdep()
3708 struct workqueue_struct *wq = pwq->wq; in pwq_unbound_release_workfn() local
3752 struct workqueue_struct *wq = pwq->wq; in pwq_adjust_max_active() local
3806 pwq->wq = wq; in init_pwq()
3818 struct workqueue_struct *wq = pwq->wq; in link_pwq() local
4014 ctx->wq = wq; in apply_wqattrs_prepare()
4694 copy_from_kernel_nofault(&wq, &pwq->wq, sizeof(wq)); in print_worker_info()
[all …]
/linux/include/linux/
A Dswait.h123 return !list_empty(&wq->task_list); in swait_active()
144 return swait_active(wq); in swq_has_sleeper()
178 finish_swait(&wq, &__wait); \
182 #define __swait_event(wq, condition) \ argument
186 #define swait_event_exclusive(wq, condition) \ argument
190 __swait_event(wq, condition); \
227 __ret = __swait_event_interruptible_timeout(wq, \
232 #define __swait_event_idle(wq, condition) \ argument
247 #define swait_event_idle_exclusive(wq, condition) \ argument
251 __swait_event_idle(wq, condition); \
[all …]
/linux/fs/
A Dio-wq.c184 struct io_wq *wq = wqe->wq; in io_worker_cancel_cb() local
208 struct io_wq *wq = wqe->wq; in io_worker_exit() local
321 wq = wqe->wq; in create_worker_cb()
344 struct io_wq *wq = wqe->wq; in io_queue_worker_create() local
441 struct io_wq *wq = wqe->wq; in io_wait_on_hash() local
544 struct io_wq *wq = wqe->wq; in io_worker_handle_work() local
614 struct io_wq *wq = wqe->wq; in io_wqe_worker() local
872 struct io_wq *wq = wqe->wq; in io_run_cancel() local
1137 if (!wq) in io_wq_create()
1175 wqe->wq = wq; in io_wq_create()
[all …]
/linux/drivers/infiniband/hw/cxgb4/
A Dt4.h492 return wq->rq.size - 1 - wq->rq.in_use; in t4_rq_avail()
498 if (++wq->rq.pidx == wq->rq.size) in t4_rq_produce()
508 if (++wq->rq.cidx == wq->rq.size) in t4_rq_consume()
534 return wq->sq.size - 1 - wq->sq.in_use; in t4_sq_avail()
540 if (++wq->sq.pidx == wq->sq.size) in t4_sq_produce()
549 if (wq->sq.cidx == wq->sq.flush_cidx) in t4_sq_consume()
552 if (++wq->sq.cidx == wq->sq.size) in t4_sq_consume()
622 writel(QID_V(wq->sq.qid) | PIDX_V(inc), wq->db); in t4_ring_sq_db()
647 writel(QID_V(wq->rq.qid) | PIDX_V(inc), wq->db); in t4_ring_rq_db()
664 wq->rq.queue[wq->rq.size].status.db_off = 1; in t4_disable_wq_db()
[all …]
A Dqp.c163 wq->rq.memsize, wq->rq.queue, in destroy_qp()
226 wq->sq.sw_sq = kcalloc(wq->sq.size, sizeof(*wq->sq.sw_sq), in create_qp()
387 wq->sq.qid, wq->rq.qid, wq->db, in create_qp()
388 wq->sq.bar2_va, wq->rq.bar2_va); in create_qp()
2330 qhp->wq.sq.qid, qhp->wq.sq.size, qhp->wq.sq.memsize, in c4iw_create_qp()
2477 struct t4_srq *wq = &srq->wq; in free_srq_queue() local
2502 wq->memsize, wq->queue, in free_srq_queue()
2514 struct t4_srq *wq = &srq->wq; in alloc_srq_queue() local
2527 wq->sw_rq = kcalloc(wq->size, sizeof(*wq->sw_rq), in alloc_srq_queue()
2538 wq->rqt_size = wq->size; in alloc_srq_queue()
[all …]
A Dcq.c209 wq, cq, wq->rq.in_use, count); in c4iw_flush_rq()
241 struct t4_wq *wq = &qhp->wq; in c4iw_flush_sq() local
248 wq->sq.flush_cidx = wq->sq.cidx; in c4iw_flush_sq()
262 if (wq->sq.flush_cidx >= wq->sq.size) in c4iw_flush_sq()
263 wq->sq.flush_cidx -= wq->sq.size; in c4iw_flush_sq()
273 wq->sq.flush_cidx = wq->sq.cidx; in flush_completed_wrs()
320 wq->sq.oldest_read = &wq->sq.sw_sq[rptr]; in advance_oldest_read()
711 wq->sq.in_use -= wq->sq.size + idx - wq->sq.cidx; in poll_cq()
713 wq->sq.in_use -= idx - wq->sq.cidx; in poll_cq()
717 *cookie = wq->sq.sw_sq[wq->sq.cidx].wr_id; in poll_cq()
[all …]

Completed in 67 milliseconds

12345678910>>...26