This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Tue, Sep 26, 2000 at 10:26:14PM -0700, Ulrich Drepper wrote: > We slowly have to think about the platforms which do not yet have > thread-local data access through anything but the POSIX API. This > will be a problem since there are at least two changes coming up which > require fast access the thread-local data. > > The situation from my perspective is as follows: > > - x86: %gs register, fast enough > - SPARC: dedicated thread register > - IA-64: likewise > - Alpha: PAL call, fast enough (according to rth) > > What about the other architectures? I guess m68k is not really that > important anymore. More of a problem for me are Arm, MIPS, and PPC. > Also, do the people who designed the ABI for PA, SH, and S390 thought > about this? Thinking about it, wouldn't be better to just make the other arches slower (e.g. by managing a global array of pointers to thread-local data indexed by say [STACK_POINTER >> 16] (provided that we make sure that no two thread stacks share the same 64K page))? I know two memory accesses (and perhaps some cache misses) plus some math will slow things down, on the other side I think it would be far worse if programs won't be portable accross the architectures. A threaded program could mmap (...PROT_NONE...) the 64K*sizeof(void *) array first and then as the various stacks are created/destroyed, they would be mmaped/munmaped as needed and filled with thread local pointers. Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |