From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11174 invoked by alias); 4 Nov 2019 16:21:12 -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 11163 invoked by uid 89); 4 Nov 2019 16:21:11 -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.0 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, HX-Languages-Length:3688 X-Spam-Status: No, score=-19.0 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, 04 Nov 2019 16:21:10 +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 65FF4300047E; Mon, 4 Nov 2019 17:21:08 +0100 (CET) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 5E601497033E; Mon, 4 Nov 2019 17:21:08 +0100 (CET) Message-ID: 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, 04 Nov 2019 16:21:00 -0000 In-Reply-To: <7fb9184620f9c49ed21cc3401384ad9910f23603.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> <7fb9184620f9c49ed21cc3401384ad9910f23603.camel@klomp.org> Content-Type: multipart/mixed; boundary="=-k2PTe7r5yD5M5D8g/juy" 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/msg00102.txt.bz2 --=-k2PTe7r5yD5M5D8g/juy Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 1028 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=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. >=20 > 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. >=20 > 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 --=-k2PTe7r5yD5M5D8g/juy Content-Disposition: attachment; filename*0=0001-libdw-Use-dynamicsizehash_concurrent-for-Dwarf_Sig8_.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libdw-Use-dynamicsizehash_concurrent-for-Dwarf_Sig8_.patch"; charset="UTF-8" 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== --=-k2PTe7r5yD5M5D8g/juy--