Lines Matching refs:wait
1127 static int wake_page_function(wait_queue_entry_t *wait, unsigned mode, int sync, void *arg) in wake_page_function() argument
1132 = container_of(wait, struct wait_page_queue, wait); in wake_page_function()
1141 flags = wait->flags; in wake_page_function()
1161 smp_store_release(&wait->flags, flags | WQ_FLAG_WOKEN); in wake_page_function()
1162 wake_up_state(wait->private, mode); in wake_page_function()
1174 list_del_init_careful(&wait->entry); in wake_page_function()
1226 struct wait_queue_entry *wait) in folio_trylock_flag() argument
1228 if (wait->flags & WQ_FLAG_EXCLUSIVE) { in folio_trylock_flag()
1234 wait->flags |= WQ_FLAG_WOKEN | WQ_FLAG_DONE; in folio_trylock_flag()
1244 wait_queue_entry_t *wait = &wait_page.wait; in folio_wait_bit_common() local
1256 init_wait(wait); in folio_wait_bit_common()
1257 wait->func = wake_page_function; in folio_wait_bit_common()
1262 wait->flags = 0; in folio_wait_bit_common()
1264 wait->flags = WQ_FLAG_EXCLUSIVE; in folio_wait_bit_common()
1266 wait->flags |= WQ_FLAG_CUSTOM; in folio_wait_bit_common()
1285 if (!folio_trylock_flag(folio, bit_nr, wait)) in folio_wait_bit_common()
1286 __add_wait_queue_entry_tail(q, wait); in folio_wait_bit_common()
1312 flags = smp_load_acquire(&wait->flags); in folio_wait_bit_common()
1338 wait->flags |= WQ_FLAG_DONE; in folio_wait_bit_common()
1348 finish_wait(q, wait); in folio_wait_bit_common()
1369 return wait->flags & WQ_FLAG_DONE ? 0 : -EINTR; in folio_wait_bit_common()
1371 return wait->flags & WQ_FLAG_WOKEN ? 0 : -EINTR; in folio_wait_bit_common()
1395 wait_queue_entry_t *wait = &wait_page.wait; in migration_entry_wait_on_locked() local
1409 init_wait(wait); in migration_entry_wait_on_locked()
1410 wait->func = wake_page_function; in migration_entry_wait_on_locked()
1413 wait->flags = 0; in migration_entry_wait_on_locked()
1417 if (!folio_trylock_flag(folio, PG_locked, wait)) in migration_entry_wait_on_locked()
1418 __add_wait_queue_entry_tail(q, wait); in migration_entry_wait_on_locked()
1434 flags = smp_load_acquire(&wait->flags); in migration_entry_wait_on_locked()
1445 finish_wait(q, wait); in migration_entry_wait_on_locked()
1687 static int __folio_lock_async(struct folio *folio, struct wait_page_queue *wait) in __folio_lock_async() argument
1692 wait->folio = folio; in __folio_lock_async()
1693 wait->bit_nr = PG_locked; in __folio_lock_async()
1696 __add_wait_queue_entry_tail(q, &wait->wait); in __folio_lock_async()
1706 __remove_wait_queue(q, &wait->wait); in __folio_lock_async()