• Home
  • Raw
  • Download

Lines Matching refs:hash

116 	struct io_wq_hash *hash;  member
449 static bool io_wait_on_hash(struct io_wqe *wqe, unsigned int hash) in io_wait_on_hash() argument
454 spin_lock_irq(&wq->hash->wait.lock); in io_wait_on_hash()
456 __add_wait_queue(&wq->hash->wait, &wqe->wait); in io_wait_on_hash()
457 if (!test_bit(hash, &wq->hash->map)) { in io_wait_on_hash()
463 spin_unlock_irq(&wq->hash->wait.lock); in io_wait_on_hash()
477 unsigned int hash; in io_get_next_work() local
487 hash = io_get_work_hash(work); in io_get_next_work()
489 tail = wqe->hash_tail[hash]; in io_get_next_work()
492 if (!test_and_set_bit(hash, &wqe->wq->hash->map)) { in io_get_next_work()
493 wqe->hash_tail[hash] = NULL; in io_get_next_work()
498 stall_hash = hash; in io_get_next_work()
516 if (wq_has_sleeper(&wqe->wq->hash->wait)) in io_get_next_work()
517 wake_up(&wqe->wq->hash->wait); in io_get_next_work()
580 unsigned int hash = io_get_work_hash(work); in io_worker_handle_work() local
599 if (hash != -1U && !next_hashed) { in io_worker_handle_work()
601 spin_lock_irq(&wq->hash->wait.lock); in io_worker_handle_work()
602 clear_bit(hash, &wq->hash->map); in io_worker_handle_work()
604 spin_unlock_irq(&wq->hash->wait.lock); in io_worker_handle_work()
605 if (wq_has_sleeper(&wq->hash->wait)) in io_worker_handle_work()
606 wake_up(&wq->hash->wait); in io_worker_handle_work()
891 unsigned int hash; in io_wqe_insert_work() local
900 hash = io_get_work_hash(work); in io_wqe_insert_work()
901 tail = wqe->hash_tail[hash]; in io_wqe_insert_work()
902 wqe->hash_tail[hash] = work; in io_wqe_insert_work()
1007 unsigned int hash = io_get_work_hash(work); in io_wqe_remove_pending() local
1010 if (io_wq_is_hashed(work) && work == wqe->hash_tail[hash]) { in io_wqe_remove_pending()
1013 if (prev_work && io_get_work_hash(prev_work) == hash) in io_wqe_remove_pending()
1014 wqe->hash_tail[hash] = prev_work; in io_wqe_remove_pending()
1016 wqe->hash_tail[hash] = NULL; in io_wqe_remove_pending()
1150 refcount_inc(&data->hash->refs); in io_wq_create()
1151 wq->hash = data->hash; in io_wq_create()
1193 io_wq_put_hash(data->hash); in io_wq_create()
1259 spin_lock_irq(&wq->hash->wait.lock); in io_wq_exit_workers()
1261 spin_unlock_irq(&wq->hash->wait.lock); in io_wq_exit_workers()
1283 io_wq_put_hash(wq->hash); in io_wq_destroy()