Re: [PATCH] Native POSIX Thread Library(NPTL) ARM Supporting Patches (1/3)

Philip Blundell <[email protected]>
Newsgroups gmane.comp.lib.glibc.alpha,gmane.comp.lib.phil
Message-ID <[email protected]>
On Fri, 2003-05-23 at 09:23, Hu, Boris wrote:
> However, TLS is absent in arm toolchain. So here is a work-around way. 
> In the linux kernel, a thread register is simulated by an additional field(pd_addr) 
> to thread_struct and two system calls(sys_get/set_thread_area()).  __thread 
> keyword is disabled in glibc and nptl. Moreover, some code related TLS in nptl 
> is protected by the glibc macro USE_TLS. 

Thanks for working on this.

I wonder what the performance impact is of having a system call in
THREAD_SELF.  If it turns out to be too great, it may be possible to
reduce the overhead by adding some more support to the kernel.  What
I've been thinking of is a way for applications to supply a pointer to
the kernel (via a new system call), and have it store the current thread
ID at that address during context switch.  That way, retrieving the
thread descriptor would be just a regular memory access.  I think it'd
only add a handful of cycles to the context switch path, and that's a
comparatively heavyweight operation already so it would probably
disappear in the noise.

p.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.