free_waiters
INIT_LIST_HEAD(&raw->free_waiters);
struct list_head free_waiters;
if (!list_empty(&raw->free_waiters)) {
rw = list_first_entry(&raw->free_waiters,
list_add_tail(&rw->node, &raw->free_waiters);
free_waiters(num_events, event_waiters, ret == -ERESTARTSYS);
vdo_waitq_notify_all_waiters(&cache->free_waiters,
if (!vdo_waitq_has_waiters(&cache->free_waiters)) {
oldest_waiter = vdo_waitq_get_first_waiter(&cache->free_waiters);
vdo_waitq_dequeue_matching_waiters(&cache->free_waiters, completion_needs_page,
vdo_waitq_enqueue_waiter(&cache->free_waiters, &vdo_page_comp->waiter);
struct vdo_wait_queue free_waiters;