wake_up_bit — wake up a waiter on a bit
|void * word,|
the word being waited on, a kernel virtual address
the bit of the word being waited on
There is a standard hashed waitqueue table for generic use. This
is the part of the hashtable's accessor API that wakes up waiters
on a bit. For instance, if one were to have waiters on a bitflag,
one would call
wake_up_bit after clearing the bit.
In order for this to function properly, as it uses
internally, some kind of memory barrier must be done prior to calling
this. Typically, this will be
smp_mb__after_atomic, but in some
cases where bitflags are manipulated non-atomically under a lock, one
may need to use a less regular barrier, such fs/inode.c's
spin_unlock does not guarantee a memory barrier.