Are there thread mutexes, LWP mutexes *and* kernel mutexes?
> In a typical “two level” scheduling scheme, say solaris, > synchronization primitives used at the thread level (POSIX or solaris) > are provided by the user level scheduler library. At the LWP level, > are there any synchronization primitives, and if so, where would one > use those as opposed to using the user level library primitives? > Ofcourse, there would be some synchronization primitives for the > kernel use. Does it mean that there are 3 distinct set of primitives > (user level, LWP level and kernel level)? Can anyone throw some light > on the LWP level primtives (if any) and point out where these would be > useful? You may remember that scene in the Wizard of Oz, where Toto runs away in panic at the sight of the Powerful Oz. He discovers a little man running the machinery behind a curtin. The catch-line was “Pay no attention to that man behind the curtin.” Same thing here. You call pthread_mutex_lock() and it does whatever it needs to so that things work. End of story. But if