[PATCH] Dynamic thread stack size

Daniel Eischen deischen at freebsd.org
Mon Jan 24 16:24:24 PST 2005


On Mon, 24 Jan 2005, Joe Marcus Clarke wrote:

> On Mon, 2005-01-24 at 15:15 -0800, Julian Elischer wrote:
> >
> > >>
> > >
> > >Okay, so lobby that it gets reduced in login.conf.  Why should threads
> > >be given less stack than processes, especially the initial thread?
> > >
> >
> > because there may be 50 of them? (or maybe even 500?)
> >
> > Threaded programs are supposed to be aware that stack is a limited resource.
>
> I thought about that, but I also thought that KSEs were treated
> similarly to processes so it wouldn't matter if each one had a full
> allocation of stacksize?

KSE != thread

A (userland) KSE stack is very small and is just enough to
schedule threads.  A thread stack is allocated (by default)
off the one (and only one) process' stack.  Allocating lots
of threads with large stacks depletes the process stack.

-- 
DE



More information about the freebsd-threads mailing list