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

Bug#896008: RFE: Improve performance of dynamic loader for deeply nested DSO dependencies



Package: libc6
Version: 2.23-0ubuntu9
Severity: normal

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?

We have around 450 dynamic libraries which are linked against the executable. 
The library calls are deeply nested and are cyclic in nature. Because of this 
the run time loader takes around 35 seconds to startup the application. The 
sorting code which is present in the loader do not scale up well when the 
number of libraries are huge and deeply nested. The sorting code I am 
referring is in dl-deps.c(line 620 to 668). Please refer below link for the 
bug raised in upstream and the fix suggested.

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

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

Took the code mentioned in the upstream patch and built the loader and ran the 
executable with the new loader. There is huge performance improvement. The 
time needed to startup the application came down to 1 second from 35 seconds.

   * What was the outcome of this action?
There was huge performance improvement.
   * What outcome did you expect instead?
The loader should start the application fast.

*** End of the template - remove these template lines ***


-- System Information:
Debian Release: stretch/sid
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0-97-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libc6 depends on:
ii  libgcc1  1:6.0.1-0ubuntu1

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]  1.5.58ubuntu1
pn  glibc-doc              <none>
ii  locales                2.23-0ubuntu9

-- debconf information:
  glibc/kernel-too-old:
  glibc/restart-services:
  glibc/restart-failed:
  glibc/upgrade: true
  glibc/kernel-not-supported:
  libraries/restart-without-asking: false
  glibc/disable-screensaver:

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: