March 5, 2013
6:02 a.m.
On Tue, 05 Mar 2013 11:02:45 +0530, Mandeep Sandhu said:
next schedule. I think the waiting threads (processes) will moved from the wait queue to the run queue from where they will be scheduled to run.
For bonus points, read source code and/or comments and figure out what Linux does to prevent the 'thundering herd' problem (consider 100 threads all waiting on the same mutex - if you blindly wake all 100 up, you'll schedule them all, the first will find the mutex available and then re-take it, and then the next 99 will get run only to find it contended and go back to sleep. So figure out what Linux does in that case. :)