On Donnerstag, 18. Juli 2024 00:33:59 MESZ Aaron Merey wrote: > v1 can be found at > https://sourceware.org/pipermail/elfutils-devel/2023q3/006329.html > > Heather McIntyre is the original author of v1 of these patches. > Heather and myself co-wrote v2.
Hey you all, this sounds very promising! I have some high level questions: Could you please add some documentation on the thread safety guarantees when elfutils was compiled with `--enable-thread-safety`? For my purposes in maintaining profilers (heaptrack, hotspot), it would be extremely cool if we could eventually use multiple threads to analyze separate samples. In theory, I would hope that "write" operations (such as `dwfl_report_{begin,end,elf}` will require synchronization, but subsequent "read" operations (such as those needed for symbolication (`dwfl_{addrmodule,module_getsymtab,module_getsym_info,module_nextcu,module_info,module_address_section, get_debuginfod_client,...`, `dwarf_{tag,getscopes_die,formstring,fromudata,diename,getsrc_die,dieoffset,linesrc,lineno,getsrcfiles,attr_integrate,...`) or unwinding (`dwfl_{thread_state_registers,frame_pc,getthread_frames}) could happen in parallel. Is that the case already after this patch set? Generally it seems like the documentation could see some love in better explaining this feature. How can I query at runtime whether elfutils was compiled with thread safety guarantees or not, such that I can adapt my consumer side accordingly (i.e. enable multi-threading or not)? Cheers -- Milian Wolff m...@milianw.de http://milianw.de
signature.asc
Description: This is a digitally signed message part.