.\"Generated by db2man.xsl. Don't modify this, modify the source. .de Sh \" Subsection .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .TH "__WAKE_UP_SYNC" 9 "August 2005" "Kernel Hackers Manual" "LINUX" .SH NAME __wake_up_sync \- wake up threads blocked on a waitqueue. .SH "SYNOPSIS" .ad l .hy 0 .HP 33 void\ fastcall\ \fB__wake_up_sync\ \fR\ (wait_queue_head_t\ *\ \fIq\fR, unsigned\ int\ \fImode\fR, int\ \fInr_exclusive\fR); .ad .hy .SH "ARGUMENTS" .TP \fIq\fR the waitqueue .TP \fImode\fR which threads .TP \fInr_exclusive\fR how many wake\-one or wake\-many threads to wake up .SH "DESCRIPTION" .PP The sync wakeup differs that the waker knows that it will schedule away soon, so while the target thread will be woken up, it will not be migrated to another CPU \- ie\&. the two threads are 'synchronized' with each other\&. This can prevent needless bouncing between CPUs\&. .PP On UP it can prevent extra preemption\&.