Lines Matching refs:bs
85 struct bt_wait_state *bs = &bt->bs[wake_index]; in blk_mq_tag_wakeup_all() local
87 if (waitqueue_active(&bs->wait)) in blk_mq_tag_wakeup_all()
88 wake_up(&bs->wait); in blk_mq_tag_wakeup_all()
95 if (waitqueue_active(&bt->bs[0].wait)) in blk_mq_tag_wakeup_all()
96 wake_up(&bt->bs[0].wait); in blk_mq_tag_wakeup_all()
246 struct bt_wait_state *bs; in bt_wait_ptr() local
250 return &bt->bs[0]; in bt_wait_ptr()
253 bs = &bt->bs[wait_index]; in bt_wait_ptr()
255 return bs; in bt_wait_ptr()
263 struct bt_wait_state *bs; in bt_get() local
274 bs = bt_wait_ptr(bt, hctx); in bt_get()
276 prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); in bt_get()
313 finish_wait(&bs->wait, &wait); in bt_get()
314 bs = bt_wait_ptr(bt, hctx); in bt_get()
317 finish_wait(&bs->wait, &wait); in bt_get()
364 struct bt_wait_state *bs = &bt->bs[wake_index]; in bt_wake_ptr() local
366 if (waitqueue_active(&bs->wait)) { in bt_wake_ptr()
371 return bs; in bt_wake_ptr()
383 struct bt_wait_state *bs; in bt_clear_tag() local
391 bs = bt_wake_ptr(bt); in bt_clear_tag()
392 if (!bs) in bt_clear_tag()
395 wait_cnt = atomic_dec_return(&bs->wait_cnt); in bt_clear_tag()
397 wait_cnt = atomic_inc_return(&bs->wait_cnt); in bt_clear_tag()
399 atomic_add(bt->wake_cnt, &bs->wait_cnt); in bt_clear_tag()
401 wake_up(&bs->wait); in bt_clear_tag()
581 bt->bs = kzalloc(BT_WAIT_QUEUES * sizeof(*bt->bs), GFP_KERNEL); in bt_alloc()
582 if (!bt->bs) { in bt_alloc()
591 init_waitqueue_head(&bt->bs[i].wait); in bt_alloc()
592 atomic_set(&bt->bs[i].wait_cnt, bt->wake_cnt); in bt_alloc()
601 kfree(bt->bs); in bt_free()