Subject: Re: CVS commit: [ktrace-lwp] src/sys
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: source-changes
Date: 07/02/2003 22:02:10
Jason Thorpe <thorpej@wasabisystems.com> writes:

> On Wednesday, July 2, 2003, at 06:12  PM, Bill Studenmund wrote:
> 
> > It has both per-LWP and per-proc accounting (as I understand
> > it). While an
> > LWP is alive, its usage accumulates in it. When an LWP exits, its
> > usage is
> > transfered to the proc. So at any given time, the overal rusage is the
> > proc's rusage + the sum of the rusage on all the lwps.
> 
> In Solaris, LWPs are associated with a proc long-term.  As I
> understand it, in our kernel, they are not necessarily.  Nathan --
> correct me if I'm wrong.

Well, a LWP is associated with a single process for its entire
lifetime, just as in Solaris. The major difference is that the use of
LWPs by the scheduler activations code is somewhat more dynamic - it
creates them on the fly*, and the binding to userlevel threads is
nonexistent.

        - Nathan

* I should make the system destroy them on the fly, by implementing a
  high-water mark in the cache, but for now they just linger in the
  per-proc SA LWP cache until the process exits or they get reused.