Subject: Re: why python+pth?
To: Perry E.Metzger <perry@piermont.com>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: tech-pkg
Date: 11/18/2003 10:40:26
"Perry E.Metzger" <perry@piermont.com> writes:

> "Nathan J. Williams" <nathanw@wasabisystems.com> writes:
> >> Can we fix that? This will improve things for a number of
> >> applications.
> >
> > If it was easy I would have done it long ago. Most applications don't
> > know what the stack size is and don't care.
> 
> Yes, but there is a subset for which it appears to be very important.

It's a smaller subset than you think. Most apps that believe they need
to change the stack size are wrong. So far, Python is the only
application I know of where there is a legitimate need.


> > On some architectures (alpha, sparc, maybe ppc), there's a register
> > avaliable for thread storage; I have some work in progress to use that
> > instead of stack identification on those systems. On others (mips,
> > arm, vax, sh) no such register is avaliable, so some kind of
> > stack-based ID is still needed (i386 is really more like the latter
> > case, but there are some possible segment register kluges).
> 
> I thought that some segment register (FS?) was explicitly used by
> Microsoft in their ABI for threads and that our ABI could deal with
> that already.

Segment regesters are funny beasts; you can't just load arbitrary
values into them. The trick is not so much using the register in
userland as setting up the infrastructure that lets you install a
useful set of values in the register.

Besides, that just moves i386 into the non-stack-ID camp. I actually
care about the general problem.

> Does the stack size typically get set while we're still running only
> with one thread?

No.

        - Nathan