/linux-6.3-rc2/lib/ |
A D | sbitmap.c | 406 shallow_depth = min(1U << sbq->sb.shift, sbq->min_shallow_depth); in sbq_calc_wake_batch() 427 sbq->wake_batch = sbq_calc_wake_batch(sbq, depth); in sbitmap_queue_init_node() 433 sbq->ws = kzalloc_node(SBQ_WAIT_QUEUES * sizeof(*sbq->ws), flags, node); in sbitmap_queue_init_node() 434 if (!sbq->ws) { in sbitmap_queue_init_node() 547 sbitmap_queue_update_wake_batch(sbq, sbq->sb.depth); in sbitmap_queue_min_shallow_depth() 731 if (!sbq_wait->sbq) { in sbitmap_add_wait_queue() 732 sbq_wait->sbq = sbq; in sbitmap_add_wait_queue() 742 if (sbq_wait->sbq) { in sbitmap_del_wait_queue() 753 if (!sbq_wait->sbq) { in sbitmap_prepare_to_wait() 755 sbq_wait->sbq = sbq; in sbitmap_prepare_to_wait() [all …]
|
/linux-6.3-rc2/include/linux/ |
A D | sbitmap.h | 423 kfree(sbq->ws); in sbitmap_queue_free() 424 sbitmap_free(&sbq->sb); in sbitmap_queue_free() 456 int __sbitmap_queue_get(struct sbitmap_queue *sbq); 484 int sbitmap_queue_get_shallow(struct sbitmap_queue *sbq, 496 static inline int sbitmap_queue_get(struct sbitmap_queue *sbq, in sbitmap_queue_get() argument 502 nr = __sbitmap_queue_get(sbq); in sbitmap_queue_get() 568 ws = &sbq->ws[atomic_read(wait_index)]; in sbq_wait_ptr() 578 void sbitmap_queue_wake_all(struct sbitmap_queue *sbq); 605 .sbq = NULL, \ 617 void sbitmap_prepare_to_wait(struct sbitmap_queue *sbq, [all …]
|
/linux-6.3-rc2/drivers/dma/idxd/ |
A D | submit.c | 33 struct sbitmap_queue *sbq; in idxd_alloc_desc() local 38 sbq = &wq->sbq; in idxd_alloc_desc() 39 idx = sbitmap_queue_get(sbq, &cpu); in idxd_alloc_desc() 47 ws = &sbq->ws[0]; in idxd_alloc_desc() 49 sbitmap_prepare_to_wait(sbq, ws, &wait, TASK_INTERRUPTIBLE); in idxd_alloc_desc() 52 idx = sbitmap_queue_get(sbq, &cpu); in idxd_alloc_desc() 58 sbitmap_finish_wait(sbq, ws, &wait); in idxd_alloc_desc() 70 sbitmap_queue_clear(&wq->sbq, desc->id, cpu); in idxd_free_desc()
|
A D | idxd.h | 212 struct sbitmap_queue sbq; member
|
A D | device.c | 135 rc = sbitmap_queue_init_node(&wq->sbq, num_descs, -1, false, GFP_KERNEL, in idxd_wq_alloc_resources() 175 sbitmap_queue_free(&wq->sbq); in idxd_wq_free_resources()
|
/linux-6.3-rc2/drivers/net/ethernet/fungible/funcore/ |
A D | fun_dev.c | 340 struct sbitmap_queue *sbq = &fdev->admin_sbq; in fun_wait_for_tag() local 341 struct sbq_wait_state *ws = &sbq->ws[0]; in fun_wait_for_tag() 346 sbitmap_prepare_to_wait(sbq, ws, &wait, TASK_UNINTERRUPTIBLE); in fun_wait_for_tag() 351 tag = sbitmap_queue_get(sbq, cpup); in fun_wait_for_tag() 357 sbitmap_finish_wait(sbq, ws, &wait); in fun_wait_for_tag()
|
/linux-6.3-rc2/drivers/staging/qlge/ |
A D | qlge_main.c | 2771 if (rx_ring->sbq.queue) in qlge_free_rx_buffers() 2818 if (rx_ring->sbq.base) { in qlge_free_rx_resources() 2820 rx_ring->sbq.base, rx_ring->sbq.base_dma); in qlge_free_rx_resources() 2821 rx_ring->sbq.base = NULL; in qlge_free_rx_resources() 2825 kfree(rx_ring->sbq.queue); in qlge_free_rx_resources() 2826 rx_ring->sbq.queue = NULL; in qlge_free_rx_resources() 2972 rx_ring->sbq.base_indirect = shadow_reg; in qlge_start_rx_ring() 3024 dma = (u64)rx_ring->sbq.base_dma; in qlge_start_rx_ring() 3037 rx_ring->sbq.next_to_use = 0; in qlge_start_rx_ring() 3038 rx_ring->sbq.next_to_clean = 0; in qlge_start_rx_ring() [all …]
|
A D | qlge.h | 1441 offsetof(struct rx_ring, sbq) : \ 1481 struct qlge_bq sbq; member
|
/linux-6.3-rc2/drivers/net/ethernet/intel/ice/ |
A D | ice_controlq.c | 62 struct ice_ctl_q_info *cq = &hw->sbq; in ice_sb_init_regs() 623 cq = &hw->sbq; in ice_init_ctrlq() 683 return &hw->sbq; in ice_get_sbq() 705 cq = &hw->sbq; in ice_shutdown_ctrlq() 817 ice_init_ctrlq_locks(&hw->sbq); in ice_create_all_ctrlq() 851 ice_destroy_ctrlq_locks(&hw->sbq); in ice_destroy_all_ctrlq()
|
A D | ice_type.h | 867 struct ice_ctl_q_info sbq; member
|
A D | ice_main.c | 1421 cq = &hw->sbq; in __ice_clean_ctrlq() 1619 if (ice_ctrlq_pending(hw, &hw->sbq)) in ice_clean_sbq_subtask() 2392 hw->sbq.num_rq_entries = ICE_SBQ_LEN; in ice_set_ctrlq_len() 2393 hw->sbq.num_sq_entries = ICE_SBQ_LEN; in ice_set_ctrlq_len() 2394 hw->sbq.rq_buf_size = ICE_SBQ_MAX_BUF_LEN; in ice_set_ctrlq_len() 2395 hw->sbq.sq_buf_size = ICE_SBQ_MAX_BUF_LEN; in ice_set_ctrlq_len()
|
/linux-6.3-rc2/drivers/target/iscsi/ |
A D | iscsi_target_util.c | 130 struct sbitmap_queue *sbq; in iscsit_wait_for_tag() local 135 sbq = &se_sess->sess_tag_pool; in iscsit_wait_for_tag() 136 ws = &sbq->ws[0]; in iscsit_wait_for_tag() 138 sbitmap_prepare_to_wait(sbq, ws, &wait, state); in iscsit_wait_for_tag() 141 tag = sbitmap_queue_get(sbq, cpup); in iscsit_wait_for_tag() 147 sbitmap_finish_wait(sbq, ws, &wait); in iscsit_wait_for_tag()
|
/linux-6.3-rc2/block/ |
A D | blk-mq.c | 1808 struct sbitmap_queue *sbq; in blk_mq_dispatch_wake() local 1811 sbq = &hctx->tags->bitmap_tags; in blk_mq_dispatch_wake() 1812 atomic_dec(&sbq->ws_active); in blk_mq_dispatch_wake() 1829 struct sbitmap_queue *sbq; in blk_mq_mark_tag_wait() local 1854 sbq = &hctx->tags->breserved_tags; in blk_mq_mark_tag_wait() 1856 sbq = &hctx->tags->bitmap_tags; in blk_mq_mark_tag_wait() 1857 wq = &bt_wait_ptr(sbq, hctx)->wait; in blk_mq_mark_tag_wait() 1867 atomic_inc(&sbq->ws_active); in blk_mq_mark_tag_wait() 1888 atomic_dec(&sbq->ws_active); in blk_mq_mark_tag_wait()
|
A D | kyber-iosched.c | 498 khd->domain_wait[i].sbq = NULL; in kyber_init_hctx()
|