ABORT_EXCLUSIVE_WAIT(9) Driver Basics ABORT_EXCLUSIVE_WAIT(9)NAMEabort_exclusive_wait - abort exclusive waiting in a queue
SYNOPSIS
void abort_exclusive_wait(wait_queue_head_t * q, wait_queue_t * wait,
unsigned int mode, void * key);
ARGUMENTS
q
waitqueue waited on
wait
wait descriptor
mode
runstate of the waiter to be woken
key
key to identify a wait bit queue or NULL
DESCRIPTION
Sets current thread back to running state and removes the wait
descriptor from the given waitqueue if still queued.
Wakes up the next waiter if the caller is concurrently woken up through
the queue.
This prevents waiter starvation where an exclusive waiter aborts and is
woken up concurrently and no one wakes up the next waiter.
COPYRIGHTKernel Hackers Manual 3.8. June 2014 ABORT_EXCLUSIVE_WAIT(9)