Home
last modified time | relevance | path

Searched refs:sbq (Results 1 – 8 of 8) sorted by relevance

/Linux-v5.4/lib/
Dsbitmap.c338 static unsigned int sbq_calc_wake_batch(struct sbitmap_queue *sbq, in sbq_calc_wake_batch() argument
360 shallow_depth = min(1U << sbq->sb.shift, sbq->min_shallow_depth); in sbq_calc_wake_batch()
361 depth = ((depth >> sbq->sb.shift) * shallow_depth + in sbq_calc_wake_batch()
362 min(depth & ((1U << sbq->sb.shift) - 1), shallow_depth)); in sbq_calc_wake_batch()
369 int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth, in sbitmap_queue_init_node() argument
375 ret = sbitmap_init_node(&sbq->sb, depth, shift, flags, node); in sbitmap_queue_init_node()
379 sbq->alloc_hint = alloc_percpu_gfp(unsigned int, flags); in sbitmap_queue_init_node()
380 if (!sbq->alloc_hint) { in sbitmap_queue_init_node()
381 sbitmap_free(&sbq->sb); in sbitmap_queue_init_node()
387 *per_cpu_ptr(sbq->alloc_hint, i) = prandom_u32() % depth; in sbitmap_queue_init_node()
[all …]
/Linux-v5.4/include/linux/
Dsbitmap.h375 int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth,
383 static inline void sbitmap_queue_free(struct sbitmap_queue *sbq) in sbitmap_queue_free() argument
385 kfree(sbq->ws); in sbitmap_queue_free()
386 free_percpu(sbq->alloc_hint); in sbitmap_queue_free()
387 sbitmap_free(&sbq->sb); in sbitmap_queue_free()
399 void sbitmap_queue_resize(struct sbitmap_queue *sbq, unsigned int depth);
408 int __sbitmap_queue_get(struct sbitmap_queue *sbq);
423 int __sbitmap_queue_get_shallow(struct sbitmap_queue *sbq,
435 static inline int sbitmap_queue_get(struct sbitmap_queue *sbq, in sbitmap_queue_get() argument
441 nr = __sbitmap_queue_get(sbq); in sbitmap_queue_get()
[all …]
/Linux-v5.4/drivers/target/iscsi/
Discsi_target_util.c147 struct sbitmap_queue *sbq; in iscsit_wait_for_tag() local
152 sbq = &se_sess->sess_tag_pool; in iscsit_wait_for_tag()
153 ws = &sbq->ws[0]; in iscsit_wait_for_tag()
155 sbitmap_prepare_to_wait(sbq, ws, &wait, state); in iscsit_wait_for_tag()
158 tag = sbitmap_queue_get(sbq, cpup); in iscsit_wait_for_tag()
164 sbitmap_finish_wait(sbq, ws, &wait); in iscsit_wait_for_tag()
/Linux-v5.4/block/
Dblk-mq.c1095 struct sbitmap_queue *sbq; in blk_mq_dispatch_wake() local
1098 sbq = &hctx->tags->bitmap_tags; in blk_mq_dispatch_wake()
1099 atomic_dec(&sbq->ws_active); in blk_mq_dispatch_wake()
1116 struct sbitmap_queue *sbq = &hctx->tags->bitmap_tags; in blk_mq_mark_tag_wait() local
1139 wq = &bt_wait_ptr(sbq, hctx)->wait; in blk_mq_mark_tag_wait()
1149 atomic_inc(&sbq->ws_active); in blk_mq_mark_tag_wait()
1170 atomic_dec(&sbq->ws_active); in blk_mq_mark_tag_wait()
Dkyber-iosched.c493 khd->domain_wait[i].sbq = NULL; in kyber_init_hctx()
/Linux-v5.4/drivers/staging/qlge/
Dqlge_main.c1066 struct bq_desc *sbq_desc = &rx_ring->sbq[rx_ring->sbq_curr_idx]; in ql_get_curr_sbuf()
1202 sbq_desc = &rx_ring->sbq[clean_idx]; in ql_update_sbq()
2861 sbq_desc = &rx_ring->sbq[i]; in ql_free_sbq_buffers()
2890 if (rx_ring->sbq) in ql_free_rx_buffers()
2931 memset(rx_ring->sbq, 0, rx_ring->sbq_len * sizeof(struct bq_desc)); in ql_init_sbq_ring()
2933 sbq_desc = &rx_ring->sbq[i]; in ql_init_sbq_ring()
2953 kfree(rx_ring->sbq); in ql_free_rx_resources()
2954 rx_ring->sbq = NULL; in ql_free_rx_resources()
3012 rx_ring->sbq = kmalloc_array(rx_ring->sbq_len, in ql_alloc_rx_resources()
3015 if (rx_ring->sbq == NULL) in ql_alloc_rx_resources()
Dqlge.h1458 struct bq_desc *sbq; /* array of control blocks */ member
Dqlge_dbg.c1786 pr_err("rx_ring->sbq = %p\n", rx_ring->sbq); in ql_dump_rx_ring()