From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 103609 invoked by alias); 28 Oct 2019 20:12:23 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 103553 invoked by uid 89); 28 Oct 2019 20:12:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.3 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-19.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 spammy=ch, sig X-Spam-Status: No, score=-19.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on sourceware.org X-Spam-Level: X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 28 Oct 2019 20:12:11 +0000 Received: from tarox.wildebeest.org (tarox.wildebeest.org [172.31.17.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 94DE8302BB42; Mon, 28 Oct 2019 21:12:08 +0100 (CET) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 6CA8A489AF11; Mon, 28 Oct 2019 21:12:08 +0100 (CET) Message-ID: <7fb9184620f9c49ed21cc3401384ad9910f23603.camel@klomp.org> Subject: Re: [PATCH 3/3] lib + libdw: Add and use a concurrent version of the dynamic-size hash table. From: Mark Wielaard To: Jonathon Anderson Cc: elfutils-devel@sourceware.org, Srdan Milakovic Date: Mon, 28 Oct 2019 20:12:00 -0000 In-Reply-To: <37fd5ac667e321734842ec1ec76e30ea880a53ab.camel@klomp.org> References: <1566877968.10901.0@smtp.mail.rice.edu> <20190829131614.18190-1-mark@klomp.org> <20190829131614.18190-4-mark@klomp.org> <574ab190fb7be83abfaef0977f904a15de7a521a.camel@klomp.org> <1572063095.9092.1@rice.edu> <37fd5ac667e321734842ec1ec76e30ea880a53ab.camel@klomp.org> Content-Type: multipart/mixed; boundary="=-cMXbTqRsHVNqW5glYUxa" X-Mailer: Evolution 3.28.5 (3.28.5-5.el7) Mime-Version: 1.0 X-Spam-Flag: NO X-IsSubscribed: yes X-SW-Source: 2019-q4/txt/msg00067.txt.bz2 --=-cMXbTqRsHVNqW5glYUxa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 897 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=20 > > asm_symbol_tab. If iteration and insertion are not concurrent we can=20 > > easily add bidirectional iteration (using the same Treiber stack-like=20 > > structure as used for the memory management). Also COMPARE is not=20 > > defined to be (0) in this instance. >=20 > 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. Cheers, Mark --=-cMXbTqRsHVNqW5glYUxa Content-Disposition: inline; filename*0=0001-libdw-Use-dynamicsizehash_concurrent-for-Dwarf_Sig8_.pat; filename*1=ch Content-Type: text/x-patch; name="0001-libdw-Use-dynamicsizehash_concurrent-for-Dwarf_Sig8_.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 Content-length: 3612 RnJvbSBhNGJmMTJhOGI5MDY5MTExNzI4OTdmMTRkNjJiM2Y0M2NjNDA2NmFk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJk IDxtYXJrQGtsb21wLm9yZz4KRGF0ZTogTW9uLCAyOCBPY3QgMjAxOSAyMDo1 NDozNSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmR3OiBVc2UgZHluYW1p Y3NpemVoYXNoX2NvbmN1cnJlbnQgZm9yIER3YXJmX1NpZzhfSGFzaC4KCkR3 YXJmX1NpZzhfSGFzaCBpcyB1c2VkIGFzIHBhcnQgb2YgYSBEd2FyZiBvYmpl Y3QgdG8gcXVpY2tseSBmaW5kIGEgdHlwZQp1bml0IGJhc2VkIG9uIHRoZSB0 eXBlIHNpZ25hdHVyZS4gVXNlIHRoZSBjb25jdXJyZW50IHZhcmlhbnQgb2Yg dGhlIGR5bmFtaWMKc2l6ZSBoYXNoIHRvIG1ha2UgaXQgdGhyZWFkLXNhZmUg dG8gdXNlLgoKU2lnbmVkLW9mZi1ieTogTWFyayBXaWVsYWFyZCA8bWFya0Br bG9tcC5vcmc+Ci0tLQogbGliZHcvQ2hhbmdlTG9nICAgICAgICAgICB8IDgg KysrKysrKysKIGxpYmR3L2R3YXJmX2Zvcm1yZWZfZGllLmMgfCAyICstCiBs aWJkdy9kd2FyZl9zaWc4X2hhc2guYyAgIHwgMiArLQogbGliZHcvZHdhcmZf c2lnOF9oYXNoLmggICB8IDkgKysrKysrKy0tCiA0IGZpbGVzIGNoYW5nZWQs IDE3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliZHcvQ2hhbmdlTG9nIGIvbGliZHcvQ2hhbmdlTG9nCmluZGV4IDI4 NTYzYjRkLi42MTIzMWU1YyAxMDA2NDQKLS0tIGEvbGliZHcvQ2hhbmdlTG9n CisrKyBiL2xpYmR3L0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDE5 LTEwLTI4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CisKKwkq IGR3YXJmX3NpZzhfaGFzaC5oOiBJbmNsdWRlIGxpYmR3LmguIFJlbW92ZSBD T01QQVJFLiBJbmNsdWRlCisJZHluYW1pY3NpemVoYXNoX2NvbmN1cnJlbnQu aC4KKwkqIGR3YXJmX3NpZzhfaGFzaC5jOiBJbmNsdWRlIGR5bmFtaWNzaXpl aGFzaF9jb25jdXJyZW50LmMuCisJKiBkd2FyZl9mb3JtcmVmX2RpZS5jIChk d2FyZl9mb3JtcmVmX2RpZSk6IERyb3AgTlVMTCBhcmd1bWVudCB0bworCUR3 YXJmX1NpZzhfSGFzaF9maW5kLgorCiAyMDE5LTA4LTI2ICBTcsSRYW4gTWls YWtvdmnEhyAgPHNtMTA4QHJpY2UuZWR1QHJpY2UuZWR1PgogCiAJKiBkd2Fy Zl9hYmJyZXZfaGFzaC57YyxofTogVXNlIHRoZSAqX2NvbmN1cnJlbnQgaGFz aCB0YWJsZS4KZGlmZiAtLWdpdCBhL2xpYmR3L2R3YXJmX2Zvcm1yZWZfZGll LmMgYi9saWJkdy9kd2FyZl9mb3JtcmVmX2RpZS5jCmluZGV4IGYxOTYzMzFh Li40OGJhODE5NCAxMDA2NDQKLS0tIGEvbGliZHcvZHdhcmZfZm9ybXJlZl9k aWUuYworKysgYi9saWJkdy9kd2FyZl9mb3JtcmVmX2RpZS5jCkBAIC04Myw3 ICs4Myw3IEBAIGR3YXJmX2Zvcm1yZWZfZGllIChEd2FyZl9BdHRyaWJ1dGUg KmF0dHIsIER3YXJmX0RpZSAqcmVzdWx0KQogCSBoYXZlIHRvIG1hdGNoIGlu IHRoZSB0eXBlIHVuaXQgaGVhZGVycy4gICovCiAKICAgICAgIHVpbnQ2NF90 IHNpZyA9IHJlYWRfOHVieXRlX3VuYWxpZ25lZCAoY3UtPmRiZywgYXR0ci0+ dmFscCk7Ci0gICAgICBjdSA9IER3YXJmX1NpZzhfSGFzaF9maW5kICgmY3Ut PmRiZy0+c2lnOF9oYXNoLCBzaWcsIE5VTEwpOworICAgICAgY3UgPSBEd2Fy Zl9TaWc4X0hhc2hfZmluZCAoJmN1LT5kYmctPnNpZzhfaGFzaCwgc2lnKTsK ICAgICAgIGlmIChjdSA9PSBOVUxMKQogCXsKIAkgIC8qIE5vdCBzZWVuIGJl Zm9yZS4gIFdlIGhhdmUgdG8gc2NhbiB0aHJvdWdoIHRoZSB0eXBlIHVuaXRz LgpkaWZmIC0tZ2l0IGEvbGliZHcvZHdhcmZfc2lnOF9oYXNoLmMgYi9saWJk dy9kd2FyZl9zaWc4X2hhc2guYwppbmRleCAwNDNjYWM3OC4uNzc3ZjllYmMg MTAwNjQ0Ci0tLSBhL2xpYmR3L2R3YXJmX3NpZzhfaGFzaC5jCisrKyBiL2xp YmR3L2R3YXJmX3NpZzhfaGFzaC5jCkBAIC0zOCw0ICszOCw0IEBACiAjZGVm aW5lIG5leHRfcHJpbWUgX19saWJkd2FyZl9uZXh0X3ByaW1lCiBleHRlcm4g c2l6ZV90IG5leHRfcHJpbWUgKHNpemVfdCkgYXR0cmlidXRlX2hpZGRlbjsK IAotI2luY2x1ZGUgPGR5bmFtaWNzaXplaGFzaC5jPgorI2luY2x1ZGUgPGR5 bmFtaWNzaXplaGFzaF9jb25jdXJyZW50LmM+CmRpZmYgLS1naXQgYS9saWJk dy9kd2FyZl9zaWc4X2hhc2guaCBiL2xpYmR3L2R3YXJmX3NpZzhfaGFzaC5o CmluZGV4IDcwNWZmYmNkLi5jMzk5OTE5YSAxMDA2NDQKLS0tIGEvbGliZHcv ZHdhcmZfc2lnOF9oYXNoLmgKKysrIGIvbGliZHcvZHdhcmZfc2lnOF9oYXNo LmgKQEAgLTI5LDEwICsyOSwxNSBAQAogI2lmbmRlZiBfRFdBUkZfU0lHOF9I QVNIX0gKICNkZWZpbmUgX0RXQVJGX1NJRzhfSEFTSF9ICTEKIAorI2lmZGVm IEhBVkVfQ09ORklHX0gKKyMgaW5jbHVkZSA8Y29uZmlnLmg+CisjZW5kaWYK KworI2luY2x1ZGUgImxpYmR3LmgiCisKICNkZWZpbmUgTkFNRSBEd2FyZl9T aWc4X0hhc2gKICNkZWZpbmUgVFlQRSBzdHJ1Y3QgRHdhcmZfQ1UgKgotI2Rl ZmluZSBDT01QQVJFKGEsIGIpICgwKQogCi0jaW5jbHVkZSA8ZHluYW1pY3Np emVoYXNoLmg+CisjaW5jbHVkZSA8ZHluYW1pY3NpemVoYXNoX2NvbmN1cnJl bnQuaD4KIAogI2VuZGlmCS8qIGR3YXJmX3NpZzhfaGFzaC5oICovCi0tIAoy LjE4LjEKCg== --=-cMXbTqRsHVNqW5glYUxa--