This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: TLS improvements for IA32 and AMD64/EM64T


On Sep 16, 2005, Alexandre Oliva <aoliva@redhat.com> wrote:

> On Sep 16, 2005, Alexandre Oliva <aoliva@redhat.com> wrote:
>> Over the past few months, I've been working on porting to IA32 and
>> AMD64/EM64T the interesting bits of the TLS design I came up with for
>> FR-V, achieving some impressive speedups along with slight code size
>> reductions in the most common cases.

>> Although the design is not set in stone yet, it's fully implemented
>> and functional with patches I'm about to post for binutils, gcc and
>> glibc mainline, as follow-ups to this message, except that the GCC
>> patch will go to gcc-patches, as expected.

> This is the glibc portion of the implementation.  I've built it for
> amd64-linux-gnu and i686-pc-linux-gnu, with both the current TLS
> dialect and the new -mtls-dialect=gnu2, without regressions.

> The patch also adds a test to fix a problem I ran into while testing
> these optimizations, that turned out to be possible to trigger with
> the old code.

> It also introduces one missing initial-exec annotation to a data
> symbol, removing code size differences between the dynamic loaders.
> In fact, after my latest build, I found out the size comparisons in
> the specs document I've just posted were incorrect.  With the latest
> build, from scratch, all libraries had the same sizes, except for
> libpthread.so, libmemusage.so and TLS test libraries in elf/ and
> nptl/, that were *always* smaller with the new dialect on both
> architectures.  Yay!

> Here's the patch.  There are no dependencies on the new code in
> binutils and GCC.

Revised patch using new relocation and dynamic entry numbers.  Tested
again on all 4 combinations mentioned above.

Attachment: glibc-20050917.patch.bz2
Description: BZip2 compressed data

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]