.\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH "WAKE_UP_BIT" "9" "09 October 2005" "" "" .SH NAME wake_up_bit \- wake up a waiter on a bit .SH SYNOPSIS "SYNOPSIS" .sp \fB .sp void fastcall wake_up_bit (void * \fIword\fB, int \fIbit\fB); \fR .SH "ARGUMENTS" .TP \fB\fIword\fB\fR the word being waited on, a kernel virtual address .TP \fB\fIbit\fB\fR the bit of the word being waited on .SH "DESCRIPTION" .PP 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 \fBwake_up_bit\fR after clearing the bit. .PP In order for this to function properly, as it uses \fBwaitqueue_active\fR internally, some kind of memory barrier must be done prior to calling this. Typically, this will be \fBsmp_mb__after_clear_bit\fR, 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 \fBsmp_mb\fR, because \fBspin_unlock\fR does not guarantee a memory barrier.