|To:||"Kevin D. Kissell" <firstname.lastname@example.org>, "Tommy S. Christensen" <email@example.com>, "Dominic Sweetman" <firstname.lastname@example.org>|
|Subject:||Re: thread-ready ABIs|
|From:||"Kevin D. Kissell" <email@example.com>|
|Date:||Wed, 23 Jan 2002 00:13:56 +0100|
|Cc:||"Daniel Jacobowitz" <firstname.lastname@example.org>, "Ralf Baechle" <email@example.com>, "Ulrich Drepper" <firstname.lastname@example.org>, "Mike Uhler" <email@example.com>, "MIPS/Linux List \(SGI\)" <firstname.lastname@example.org>, "H . J . Lu" <email@example.com>|
|References:||<firstname.lastname@example.org> <20020118101908.C23887@lucon.org> <01b801c1a081$3f6518e0$0deca8c0@Ulysses> <20020119162415.B31028@dea.linux-mips.net> <email@example.com> <01be01c1a2d7$6ec299c0$0deca8c0@Ulysses> <firstname.lastname@example.org> <002001c1a33e$d9936560$0deca8c0@Ulysses> <20020122102128.A11455@nevyn.them.org> <email@example.com> <3C4DDD24.4A0F24DE@eicon.com> <013a01c1a38f$41f96a00$0deca8c0@Ulysses>|
> > Well, why not use the stack? > > > > I am not quite familiar with the requirements on this "thread register", > > but couldn't something like this be made to work: > > #define TID *((sp & ~(STACK_SIZE-1)) + STACK_SIZE - TID_OFFSET) > > > > It assumes a fixed maximum stack size (and alignment), which it should > > be possible to meet (virtual memory is cheap). The STACK_SIZE could > > probably even be a (process global!) variable if it is not desirable > > to limit this at compile time. > > Thanks for writing this up. I had the same thought over dinner, > but I'm throughly discredited today, and it's better that it came > from someone else. ;-) That having been said, I don't think this scheme will really work. Programs do build themselves temporary stacks in the heap from time to time. Signal stacks come to mind. Regards, Kevin K.
|<Prev in Thread]||Current Thread||[Next in Thread>|