[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] non-local return scalability bottleneck
From: |
Milian Wolff |
Subject: |
Re: [Libunwind-devel] non-local return scalability bottleneck |
Date: |
Mon, 07 Dec 2015 21:49:43 +0100 |
User-agent: |
KMail/5.1.42 pre (Linux/4.2.5-1-ARCH; KDE/5.16.0; x86_64; ; ) |
On Sonntag, 6. Dezember 2015 11:31:17 CET Paul Pluzhnikov wrote:
> On Sun, Dec 6, 2015 at 11:03 AM, Arun Sharma <address@hidden> wrote:
> > Suspect the comment below is relevant. Perhaps try removing it and see
> > what happens?
>
> I suspect that the dlclose resulting in unload, followed by dlopen of
> something else that lands in the same address range, is what would
> break (by returning now stale info).
I've seen this bottleneck myself btw. in my heaptrack profiler - it costs both
pure CPU performance as well as severely impacting the multi-thread
performance.
I was thinking of writing a patch for an off-by-default cache with the
capability to manually invalidate the cache whenever dlopen/dlcose gets called
(which is rare, and detectable by a profiler). I never got around to write it
though... If anyone could do that - it would be much appreciated!
That said, I did write this patch which is still not reviewed or accepted
upstream:
https://lists.gnu.org/archive/html/libunwind-devel/2015-09/msg00005.html
@Luke: Could you try that patch and increase the cache size? That should
already reduce the number of times dl_iterate_phdr gets called.
@Arun: Any chance you could review and land it?
Thanks
--
Milian Wolff
address@hidden
http://milianw.de
signature.asc
Description: This is a digitally signed message part.