Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sun, 26 Aug 2012 02:00:31 +0200
From: musl <b.brezillon.musl@...il.com>
To: musl@...ts.openwall.com
Subject: Re: ldso : dladdr support

On 24/08/2012 20:38, Rich Felker wrote:
> On Fri, Aug 24, 2012 at 09:29:29AM +0200, musl wrote:
>> I tested it and it works well.
> Is there anything I changed that you think might be better done a
> different way?
>
>> My tests are based on small libs (with a small set of shared symbols).
>> I mixed libs with gnu hash and sysv hash.
>> Tried to resolve symbols via dlsym.
>>
>> Have you tested it on big libraries ?
> No, just very minimal testing.
>
>> Do you want me to do some specific tests ?
> Actually, the main thing I'm interested in is whether the bloom filter
> is ever beneficial. I took it out trying to streamline the code and
> shaved about 8% off the lookup time for symbols in the main program,
> but I didn't investigate how the change affects symbols not found in
> the first file searched. Would you be interested in running some tests
> to determine if it might be useful to try adding it back?
I tried the perf application ( https://perf.wiki.kernel.org/index.php/Tutorial
<https://perf.wiki.kernel.org/index.php/Tutorial#Counting_with_perf_stat>)
with this command : 'perf stat -e instructions:u ./gnuhash main' (gives number of instructions executed in user space by
gnuhash program).

Here are the results :

With bloom filter :

577 0x80483c4

 Performance counter stats for './gnuhash main':

            31 895 instructions:u            #    0,00  insns per cycle       

       0,000792737 seconds time elapsed


Without bloom filter :

588 0x80483c4

 Performance counter stats for './gnuhash main':

            31 195 instructions:u            #    0,00  insns per cycle       

       0,000802368 seconds time elapsed

As you can see there are less instructions executed in the version without bloom filter but it's slower.
I guess this difference come from the symbol resolution during the relocation process.
> Since it seems to be working/non-broken right now, I'll probably go
> ahead and commit soon unless you find a major problem I've overlooked.
> Then we can work on improving it once it's in the repo.
>
> Rich


Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.