libunwind-devel
[Top][All Lists]
Advanced

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

[Libunwind-devel] interval based cache?


From: Doug Moore
Subject: [Libunwind-devel] interval based cache?
Date: Tue, 11 Apr 2017 17:24:21 -0500

The libunwind cache is based on hashing an instruction pointer (IP) value.  On 
a cache miss, the exploration for the right stack-popping info may come down to 
a search of intervals defined by an eh_frame_hdr, so that the interval found to 
include this IP could also include lots of neighboring instructions, which 
would also lead to cache misses, if we ever looked them up.  I’m wondering 
whether it's worth considering a change to the caching mechanism so that 
instead of using a hash table, it used some ordered data structure (binary 
tree, skip list, etc) of intervals, not IPs, so that there would be at most one 
cache miss per interval.

Is there a problem in my thinking here?  If not, is the libunwind world 
generally friendly or hostile to such a change?

Doug Moore




reply via email to

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