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]

Re: RFC: Caching of lookup results during startup


Ulrich Drepper <drepper@redhat.com> writes:

> Andreas Jaeger <aj@suse.de> writes:
> 
>> To improve the start up time of the dynamic linker, I followed an idea
>> the BSD folks implemented (my view is i386 centric but everything can
>> be generalized):  [...]
> 
> While this can certainly help a bit it is by far not enough.  Jakub's
> patch includes a cache as well but more importantly he also has linker
> patches to generate appropriately optimized binaries.  It is necessary
> to combine and sort the relocation sections.  Only then can the cache
> be really effective.

I didn't know that:-(.  Looking again at his patches I see what you
mean.  He just caches the last access - and if he also orders the
relocations so that relocations for one symbols follow each other,
then this is sufficient and has less overhead than my version.

I haven't seen binutils patches for this yet and looking at his
description he seems to do the reordering in his prelinker.

> So, instead of dealing with this patch only to later rework it I'm
> waiting for the linker changes to materialize and then add an
> appropriate patch.  Jakub AFAIK has one but he's on vacation this week.

Ok, let's wait until Jakub returns from vacation and discuss this with
him then.

I've just played around with only caching the last value and got 1050
values served from the cache instead of 33770 values using a complete
cache (out of 54130 relocations for konqueror).  The reordering part
is essential here.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


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