/linux-master/lib/ |
H A D | sbitmap.c | 384 static unsigned int sbq_calc_wake_batch(struct sbitmap_queue *sbq, argument 399 * Each word can be limited to sbq->min_shallow_depth bits. 401 shallow_depth = min(1U << sbq->sb.shift, sbq->min_shallow_depth); 402 depth = ((depth >> sbq->sb.shift) * shallow_depth + 403 min(depth & ((1U << sbq->sb.shift) - 1), shallow_depth)); 410 int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth, argument 416 ret = sbitmap_init_node(&sbq->sb, depth, shift, flags, node, 421 sbq->min_shallow_depth = UINT_MAX; 422 sbq 441 sbitmap_queue_update_wake_batch(struct sbitmap_queue *sbq, unsigned int depth) argument 451 sbitmap_queue_recalculate_wake_batch(struct sbitmap_queue *sbq, unsigned int users) argument 464 sbitmap_queue_resize(struct sbitmap_queue *sbq, unsigned int depth) argument 471 __sbitmap_queue_get(struct sbitmap_queue *sbq) argument 477 __sbitmap_queue_get_batch(struct sbitmap_queue *sbq, int nr_tags, unsigned int *offset) argument 529 sbitmap_queue_get_shallow(struct sbitmap_queue *sbq, unsigned int shallow_depth) argument 538 sbitmap_queue_min_shallow_depth(struct sbitmap_queue *sbq, unsigned int min_shallow_depth) argument 546 __sbitmap_queue_wake_up(struct sbitmap_queue *sbq, int nr) argument 577 sbitmap_queue_wake_up(struct sbitmap_queue *sbq, int nr) argument 604 sbitmap_queue_clear_batch(struct sbitmap_queue *sbq, int offset, int *tags, int nr_tags) argument 638 sbitmap_queue_clear(struct sbitmap_queue *sbq, unsigned int nr, unsigned int cpu) argument 666 sbitmap_queue_wake_all(struct sbitmap_queue *sbq) argument 687 sbitmap_queue_show(struct sbitmap_queue *sbq, struct seq_file *m) argument 721 sbitmap_add_wait_queue(struct sbitmap_queue *sbq, struct sbq_wait_state *ws, struct sbq_wait *sbq_wait) argument 743 sbitmap_prepare_to_wait(struct sbitmap_queue *sbq, struct sbq_wait_state *ws, struct sbq_wait *sbq_wait, int state) argument 755 sbitmap_finish_wait(struct sbitmap_queue *sbq, struct sbq_wait_state *ws, struct sbq_wait *sbq_wait) argument [all...] |
/linux-master/include/linux/ |
H A D | sbitmap.h | 404 * @sbq: Bitmap queue to initialize. 413 int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth, 419 * @sbq: Bitmap queue to free. 421 static inline void sbitmap_queue_free(struct sbitmap_queue *sbq) argument 423 kfree(sbq->ws); 424 sbitmap_free(&sbq->sb); 429 * @sbq: Bitmap queue to recalculate wake batch. 435 void sbitmap_queue_recalculate_wake_batch(struct sbitmap_queue *sbq, 440 * @sbq: Bitmap queue to resize. 447 void sbitmap_queue_resize(struct sbitmap_queue *sbq, unsigne 496 sbitmap_queue_get(struct sbitmap_queue *sbq, unsigned int *cpu) argument 563 sbq_wait_ptr(struct sbitmap_queue *sbq, atomic_t *wait_index) argument 599 struct sbitmap_queue *sbq; /* if set, sbq_wait is accounted */ member in struct:sbq_wait [all...] |
/linux-master/drivers/dma/idxd/ |
H A D | submit.c | 33 struct sbitmap_queue *sbq; local 38 sbq = &wq->sbq; 39 idx = sbitmap_queue_get(sbq, &cpu); 47 ws = &sbq->ws[0]; 49 sbitmap_prepare_to_wait(sbq, ws, &wait, TASK_INTERRUPTIBLE); 52 idx = sbitmap_queue_get(sbq, &cpu); 58 sbitmap_finish_wait(sbq, ws, &wait); 71 sbitmap_queue_clear(&wq->sbq, desc->id, cpu);
|
H A D | idxd.h | 230 struct sbitmap_queue sbq; member in struct:idxd_wq
|
H A D | device.c | 135 rc = sbitmap_queue_init_node(&wq->sbq, num_descs, -1, false, GFP_KERNEL, 176 sbitmap_queue_free(&wq->sbq);
|
/linux-master/drivers/net/ethernet/intel/ice/ |
H A D | ice_controlq.c | 62 struct ice_ctl_q_info *cq = &hw->sbq; 622 cq = &hw->sbq; 679 return &hw->sbq; 701 cq = &hw->sbq; 813 ice_init_ctrlq_locks(&hw->sbq); 847 ice_destroy_ctrlq_locks(&hw->sbq);
|
H A D | ice_type.h | 873 struct ice_ctl_q_info sbq; member in struct:ice_hw
|
H A D | ice_main.c | 1463 cq = &hw->sbq; 1668 if (ice_ctrlq_pending(hw, &hw->sbq)) 2426 hw->sbq.num_rq_entries = ICE_SBQ_LEN; 2427 hw->sbq.num_sq_entries = ICE_SBQ_LEN; 2428 hw->sbq.rq_buf_size = ICE_SBQ_MAX_BUF_LEN; 2429 hw->sbq.sq_buf_size = ICE_SBQ_MAX_BUF_LEN;
|
/linux-master/drivers/net/ethernet/fungible/funcore/ |
H A D | fun_dev.c | 339 struct sbitmap_queue *sbq = &fdev->admin_sbq; local 340 struct sbq_wait_state *ws = &sbq->ws[0]; 345 sbitmap_prepare_to_wait(sbq, ws, &wait, TASK_UNINTERRUPTIBLE); 350 tag = sbitmap_queue_get(sbq, cpup); 356 sbitmap_finish_wait(sbq, ws, &wait);
|
/linux-master/drivers/target/iscsi/ |
H A D | iscsi_target_util.c | 130 struct sbitmap_queue *sbq; local 135 sbq = &se_sess->sess_tag_pool; 136 ws = &sbq->ws[0]; 138 sbitmap_prepare_to_wait(sbq, ws, &wait, state); 141 tag = sbitmap_queue_get(sbq, cpup); 147 sbitmap_finish_wait(sbq, ws, &wait);
|
/linux-master/block/ |
H A D | blk-mq.c | 1786 struct sbitmap_queue *sbq; local 1789 sbq = &hctx->tags->bitmap_tags; 1790 atomic_dec(&sbq->ws_active); 1807 struct sbitmap_queue *sbq; local 1832 sbq = &hctx->tags->breserved_tags; 1834 sbq = &hctx->tags->bitmap_tags; 1835 wq = &bt_wait_ptr(sbq, hctx)->wait; 1845 atomic_inc(&sbq->ws_active); 1882 atomic_dec(&sbq->ws_active);
|
H A D | kyber-iosched.c | 496 khd->domain_wait[i].sbq = NULL;
|