[Mesa-dev] [PATCH 2/2] gallium/util: libunwind support

Thomas Hellstrom thellstrom at vmware.com
Tue Apr 4 12:45:24 UTC 2017


On 04/04/2017 02:34 PM, Rob Clark wrote:
> On Tue, Apr 4, 2017 at 1:49 AM, Thomas Hellstrom <thellstrom at vmware.com> wrote:
>> But one more worrying thing is that with these fixes, debug_flush gets
>> too slow to be usable. I get about one frame every 5 seconds from Ubuntu
>> compiz. The culprit seems to be unw_get_proc_name(). Is there a way we
>> can save intermediate information during backtrace capture and call this
>> function at printout time?
>
> btw, is it common to capture many more backtraces than you print?
> (Just to check if defering the unw_get_proc_name() would actually help
> anything..)

Yes. The debug_flush functionality captures the backtrace on each map in
case someone would flush when mapped or try a recursive map. Only then
they are printed.

FWIW in u_debug_symbol.c, José has implemented a hash table for name
lookups. Perhaps one solution would to save the IP and insert the
function name in the hash table with the IP as key.

/Thomas


>
> BR,
> -R




More information about the mesa-dev mailing list