Lines Matching refs:ws
329 sbq->ws = kzalloc_node(SBQ_WAIT_QUEUES * sizeof(*sbq->ws), flags, node); in sbitmap_queue_init_node()
330 if (!sbq->ws) { in sbitmap_queue_init_node()
337 init_waitqueue_head(&sbq->ws[i].wait); in sbitmap_queue_init_node()
338 atomic_set(&sbq->ws[i].wait_cnt, sbq->wake_batch); in sbitmap_queue_init_node()
361 atomic_set(&sbq->ws[i].wait_cnt, 1); in sbitmap_queue_update_wake_batch()
445 struct sbq_wait_state *ws = &sbq->ws[wake_index]; in sbq_wake_ptr() local
447 if (waitqueue_active(&ws->wait)) { in sbq_wake_ptr()
452 return ws; in sbq_wake_ptr()
463 struct sbq_wait_state *ws; in __sbq_wake_up() local
467 ws = sbq_wake_ptr(sbq); in __sbq_wake_up()
468 if (!ws) in __sbq_wake_up()
471 wait_cnt = atomic_dec_return(&ws->wait_cnt); in __sbq_wake_up()
489 ret = atomic_cmpxchg(&ws->wait_cnt, wait_cnt, wake_batch); in __sbq_wake_up()
492 wake_up_nr(&ws->wait, wake_batch); in __sbq_wake_up()
538 struct sbq_wait_state *ws = &sbq->ws[wake_index]; in sbitmap_queue_wake_all() local
540 if (waitqueue_active(&ws->wait)) in sbitmap_queue_wake_all()
541 wake_up(&ws->wait); in sbitmap_queue_wake_all()
570 struct sbq_wait_state *ws = &sbq->ws[i]; in sbitmap_queue_show() local
573 atomic_read(&ws->wait_cnt), in sbitmap_queue_show()
574 waitqueue_active(&ws->wait) ? "active" : "inactive"); in sbitmap_queue_show()