bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/26925] x86/ld: Performance regression with execl()


From: hjl.tools at gmail dot com
Subject: [Bug ld/26925] x86/ld: Performance regression with execl()
Date: Fri, 20 Nov 2020 13:20:06 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=26925

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hjl.tools at gmail dot com

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to yummypeng from comment #0)
> 
> I have two vm, one with glibc linked with ld-2.31 and another with glibc
> linked with ld-2.30. Take the /lib64/libpthread.so.0 for example:
> 
> - glibc linked with ld-2.30:
> ```
> $ readelf -l /lib64/libpthread.so.0
> 
> Elf file type is DYN (Shared object file)
> Entry point 0x6d80
> There are 9 program headers, starting at offset 64
> ```
> 
> - glibc linked with ld-2.31:
> ```
> $ readelf -l /lib64/libpthread.so.0
> 
> Elf file type is DYN (Shared object file)
> Entry point 0x8200
> There are 13 program headers, starting at offset 64
> ```
> 
> This causes performance regression (nearly 40%) of execl unixbench. By
> tracing the test routine, I can see more mmap() calls with every loading of
> dynamic libraries.

This is done on purpose.  If only things you do is loading shared libraries,
there will be more mmap calls.  But since loading shared libraries takes a
small percentage of execution time for most applications, it isn't an issue.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]