Im confused. What exactly do you think wake_up and sleep_on guarantee
wake_up wakes everyone on the queue at some arbitary instant
sleep_on makes no guarantee about what occurs if you allow a wakeup while
you are in sleep_on, until you are asleep.
That is why code tends to use add_wait_queue/remove_wait_queue.
> post operation will allow more than one guy to wake up in such a scenario.
> It has to do with how Intel's pipelines work and assumptions about cached
> data. MESI really is "messy" to deal with in some cases on SMP.
The wait queue locks are store barriers because the lock will always have
executed a lock btsl prior to being taken. The unlock likewise has done
a lock btrl
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/