On Tue, Mar 5, 2013 at 11:32 AM, <Valdis.Kletnieks@xxxxxx> wrote: > 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. :) Googling around, I found the 'thundering herd' being mentioned in relation to threads waiting on sockets using the accept() sys call. Are wait's on mutex's also plagued by the same issue? I guess it is, though what sys call would be used in this case? Thanks, -mandeep _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies