Name

wait_on_bit_lock — wait for a bit to be cleared, when wanting to set it

Synopsis

int wait_on_bit_lock (void * word,
 int bit,
 int (*action) (void *),
 unsigned mode);
 

Arguments

word

the word being waited on, a kernel virtual address

bit

the bit of the word being waited on

action

the function used to sleep, which may take special actions

mode

the task state to sleep in

Description

There is a standard hashed waitqueue table for generic use. This is the part of the hashtable's accessor API that waits on a bit when one intends to set it, for instance, trying to lock bitflags. For instance, if one were to have waiters trying to set bitflag and waiting for it to clear before setting it, one would call wait_on_bit in threads waiting to be able to set the bit. One uses wait_on_bit_lock where one is waiting for the bit to clear with the intention of setting it, and when done, clearing it.