Lines Matching refs:bs
81 struct bt_wait_state *bs = &bt->bs[wake_index]; in blk_mq_tag_wakeup_all() local
83 if (waitqueue_active(&bs->wait)) in blk_mq_tag_wakeup_all()
84 wake_up(&bs->wait); in blk_mq_tag_wakeup_all()
91 if (waitqueue_active(&bt->bs[0].wait)) in blk_mq_tag_wakeup_all()
92 wake_up(&bt->bs[0].wait); in blk_mq_tag_wakeup_all()
242 struct bt_wait_state *bs; in bt_wait_ptr() local
246 return &bt->bs[0]; in bt_wait_ptr()
249 bs = &bt->bs[wait_index]; in bt_wait_ptr()
251 return bs; in bt_wait_ptr()
259 struct bt_wait_state *bs; in bt_get() local
270 bs = bt_wait_ptr(bt, hctx); in bt_get()
272 prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); in bt_get()
309 finish_wait(&bs->wait, &wait); in bt_get()
310 bs = bt_wait_ptr(bt, hctx); in bt_get()
313 finish_wait(&bs->wait, &wait); in bt_get()
360 struct bt_wait_state *bs = &bt->bs[wake_index]; in bt_wake_ptr() local
362 if (waitqueue_active(&bs->wait)) { in bt_wake_ptr()
367 return bs; in bt_wake_ptr()
379 struct bt_wait_state *bs; in bt_clear_tag() local
387 bs = bt_wake_ptr(bt); in bt_clear_tag()
388 if (!bs) in bt_clear_tag()
391 wait_cnt = atomic_dec_return(&bs->wait_cnt); in bt_clear_tag()
393 wait_cnt = atomic_inc_return(&bs->wait_cnt); in bt_clear_tag()
395 atomic_add(bt->wake_cnt, &bs->wait_cnt); in bt_clear_tag()
397 wake_up(&bs->wait); in bt_clear_tag()
526 bt->bs = kzalloc(BT_WAIT_QUEUES * sizeof(*bt->bs), GFP_KERNEL); in bt_alloc()
527 if (!bt->bs) { in bt_alloc()
536 init_waitqueue_head(&bt->bs[i].wait); in bt_alloc()
537 atomic_set(&bt->bs[i].wait_cnt, bt->wake_cnt); in bt_alloc()
546 kfree(bt->bs); in bt_free()