Hey Brian - For Solaris 9 and 10 (and optionally in Solaris 8), the 
thread model is 1 level - all
user threads are essentially "bound" threads, with a corresponding 
LWP/kthread. As such, they
are simply scheduled by the kernel based on their scheduling class and 
global priority.

If your question is on unbound threads (Solaris 8 default thread lib and 
earlier) let us know.
That's a much more involved answer, but the summary statement is a 
libthread used to have
its own scheduler, responsible for scheduling user threads on LWPs.

I wrote about how this works many years ago in a SunWorld column, and I 
think they're
online somewhere (but I need to look around).

Thanks,
/jim


Brian Gupta wrote:
> Is there a "How user threads are scheduled across LWP/kthreads." for 
> dummies doc floating around? Or possibly a "How does the user thread 
> library decide how many LWPs to spawn for a given process" doc?
>
> Thanks,
> Brian
>
> P.S. - Forgive me if this is the wrong mailing list..
> ------------------------------------------------------------------------
>
> _______________________________________________
> perf-discuss mailing list
> perf-discuss@opensolaris.org
>   
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to