[PATCH 3/3] lib + libdw: Add and use a concurrent version of the dynamic-size hash table.

Mark Wielaard mark@klomp.org
Mon Nov 4 16:21:00 GMT 2019


Hi,

On Mon, 2019-10-28 at 21:12 +0100, Mark Wielaard wrote:
> On Sun, 2019-10-27 at 17:13 +0100, Mark Wielaard wrote:
> > On Fri, 2019-10-25 at 23:11 -0500, Jonathon Anderson wrote:
> > > A quick grep -r shows that ITERATE and REVERSE are used for the 
> > > asm_symbol_tab. If iteration and insertion are not concurrent we can 
> > > easily add bidirectional iteration (using the same Treiber stack-like 
> > > structure as used for the memory management). Also COMPARE is not 
> > > defined to be (0) in this instance.
> > 
> > Yes. We would need some other solution for the libasm code. But I think
> > we can use the concurrent table for everything in libdw.
> 
> And everything in libdw besides the abbrev hash is the sig8 hash.
> And adopting the concurrent dynamic size hash for that is almost
> trivial. See attached.
> 
> I only tested it lightly because I don't have any large projects build
> with -fdebug-types-dection. But it seems to work as intended.

Any comment on this patch?

Thanks,

Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-libdw-Use-dynamicsizehash_concurrent-for-Dwarf_Sig8_.patch
Type: text/x-patch
Size: 2662 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/elfutils-devel/attachments/20191104/f001ceeb/attachment.bin>


More information about the Elfutils-devel mailing list