Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rFsU3-00CZlZ-FF for pgsql-hackers@arkaria.postgresql.org; Wed, 20 Dec 2023 09:03:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rFsU1-00AKKx-KS for pgsql-hackers@arkaria.postgresql.org; Wed, 20 Dec 2023 09:03:17 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rFsU1-00AKKp-5N for pgsql-hackers@lists.postgresql.org; Wed, 20 Dec 2023 09:03:17 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rFsTw-00CvyD-Dq for pgsql-hackers@postgresql.org; Wed, 20 Dec 2023 09:03:16 +0000 Received: from [20.10.0.80] (unknown [5.182.58.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: a.lepikhov@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 030AAE20E22; Wed, 20 Dec 2023 12:03:04 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1703062985; bh=1EgI/Ln9WUPhc0ftfERLxzvSiVt8Kd5N0I6P9zBSEdI=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=b+OOMgnN6ZaLbon4sV7s2SUJ6lqHAbdfk8vssKKKpfF+KGT3auZ/YDRrmhDfv+pDj 3sNOp9sIDA1LFRrYD57vTr7qu5mN8ynjICo4ATkZKXjBuQ8l7jVhNQRw6lEnVLxFTU opP1ouc2GHkc/EoCIZsDdO4x0fa9T4fKR+QVaEZ1e9mIU7CCuJM1gu0B5qjUnTdOB5 qvLGJf3B8lfHA7GQHlM+tc+HK0epWlMhtBnEPfWMods8u1wS8rV9omBDHZRmKw6voh RixThVFw+ycRK/tC5O6mJJaY3UOkrqWncVQMUkxUJSG1LpHNIFpTkWHrftCYmHHkXA 8nXc7q8ojwkjw== Content-Type: multipart/mixed; boundary="------------d3NU0i9esYRfpyJHkmF6qyp0" Message-ID: <80cbdd55-8a9d-4472-b360-893309e1f6ef@postgrespro.ru> Date: Wed, 20 Dec 2023 11:02:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: introduce dynamic shared memory registry To: Michael Paquier , Nathan Bossart Cc: Robert Haas , pgsql-hackers@postgresql.org References: <20231205034647.GA2705267@nathanxps13> <3dcea2e9-c46d-4e4f-8371-9526d1aebc83@postgrespro.ru> <20231219161444.GD831499@nathanxps13> Content-Language: en-US From: Andrei Lepikhov Organization: Postgres Professional In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------d3NU0i9esYRfpyJHkmF6qyp0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 20/12/2023 07:04, Michael Paquier wrote: > On Tue, Dec 19, 2023 at 10:14:44AM -0600, Nathan Bossart wrote: >> On Tue, Dec 19, 2023 at 10:49:23AM -0500, Robert Haas wrote: >>> On Mon, Dec 18, 2023 at 3:32 AM Andrei Lepikhov >>> wrote: >>>> 2. I think a separate file for this feature looks too expensive. >>>> According to the gist of that code, it is a part of the DSA module. >>> >>> -1. I think this is a totally different thing than DSA. More files >>> aren't nearly as expensive as the confusion that comes from smushing >>> unrelated things together. >> >> Agreed. I think there's a decent chance that more functionality will be >> added to this registry down the line, in which case it will be even more >> important that this stuff stays separate from the tools it is built with. > > +1 for keeping a clean separation between both. Thanks, I got the reason. In that case, maybe change the test case to make it closer to real-life usage - with locks and concurrent access (See attachment)? -- regards, Andrei Lepikhov Postgres Professional --------------d3NU0i9esYRfpyJHkmF6qyp0 Content-Type: text/plain; charset=UTF-8; name="elaborate_tests.txt" Content-Disposition: attachment; filename="elaborate_tests.txt" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kc21fcmVnaXN0cnkvdC8wMDFf dGVzdF9kc21fcmVnaXN0cnkucGwgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZHNtX3JlZ2lz dHJ5L3QvMDAxX3Rlc3RfZHNtX3JlZ2lzdHJ5LnBsCmluZGV4IDRhZDYwOTdkMWMuLjc2MjQ4 OWYzZGQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kc21fcmVnaXN0cnkv dC8wMDFfdGVzdF9kc21fcmVnaXN0cnkucGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X2RzbV9yZWdpc3RyeS90LzAwMV90ZXN0X2RzbV9yZWdpc3RyeS5wbApAQCAtMTMsMTIgKzEz LDI3IEBAICRub2RlLT5pbml0OwogJG5vZGUtPnN0YXJ0OwogCiAkbm9kZS0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJDUkVBVEUgREFUQUJBU0UgdGVzdDsiKTsKLSRub2RlLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIkNSRUFURSBFWFRFTlNJT04gdGVzdF9kc21fcmVnaXN0cnk7Iik7 Ci0kbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1Qgc2V0X3ZhbF9pbl9zaG1l bSgxMjM2KTsiKTsKLQogJG5vZGUtPnNhZmVfcHNxbCgndGVzdCcsICJDUkVBVEUgRVhURU5T SU9OIHRlc3RfZHNtX3JlZ2lzdHJ5OyIpOwotbXkgJHJlc3VsdCA9ICRub2RlLT5zYWZlX3Bz cWwoJ3Rlc3QnLCAiU0VMRUNUIGdldF92YWxfaW5fc2htZW0oKTsiKTsKLWlzKCRyZXN1bHQs ICIxMjM2IiwgImNoZWNrIHNobWVtIHZhbCIpOworCitteSAoJGluaXRpYWxfdmFsdWUsICRy ZXN1bHQsICRjdXN0b21fc2NyaXB0KTsKKworJGluaXRpYWxfdmFsdWUgPSAkbm9kZS0+c2Fm ZV9wc3FsKCd0ZXN0JywgIlNFTEVDVCBnZXRfdmFsX2luX3NobWVtKCk7Iik7CisKKyRjdXN0 b21fc2NyaXB0ID0gRmlsZTo6VGVtcC0+bmV3KCk7CithcHBlbmRfdG9fZmlsZSgkY3VzdG9t X3NjcmlwdCwgcXsKKyAgXHNldCB2YWwgcmFuZG9tKDAsIDE5OTkpCisgIFNFTEVDVCBpbmNy ZW1lbnRfdmFsX2luX3NobWVtKDp2YWwpOworICBTRUxFQ1QgaW5jcmVtZW50X3ZhbF9pbl9z aG1lbSgtKDp2YWwpKTsKK30pOworCiskbm9kZS0+Y29tbWFuZF9vayhbICdwZ2JlbmNoJywg Jy1pJywgJ3Rlc3QnIF0sICdJbml0IGRhdGFiYXNlJyk7Ciskbm9kZS0+Y29tbWFuZF9vayhb ICdwZ2JlbmNoJywgJy10JywgJzMxJywgJy1jJywgJzMnLCAnLWonLCAnMycsCisJCQkJCSct ZicsICIkY3VzdG9tX3NjcmlwdCIsICd0ZXN0JyBdLAorCQkJCQknQ2hhbmdlIHNoYXJlZCB2 YWx1ZSBzaW1sdXRhbmVvdXNseScpOworCiskcmVzdWx0ID0gJG5vZGUtPnNhZmVfcHNxbCgn dGVzdCcsICJTRUxFQ1QgZ2V0X3ZhbF9pbl9zaG1lbSgpOyIpOworcHJpbnQoInJlcyAkaW5p dGlhbF92YWx1ZSwgJHJlc3VsdCIpOworaXMoJHJlc3VsdCwgJGluaXRpYWxfdmFsdWUsICJD aGVjayBjb25jdXJyZW50IGFjY2VzcyIpOwogCiAkbm9kZS0+c3RvcDsKIApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RzbV9yZWdpc3RyeS90ZXN0X2RzbV9yZWdpc3Ry eS0tMS4wLnNxbCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kc21fcmVnaXN0cnkvdGVzdF9k c21fcmVnaXN0cnktLTEuMC5zcWwKaW5kZXggOGM1NWIwOTE5Yi4uMDE0NDg0NWFmYSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RzbV9yZWdpc3RyeS90ZXN0X2RzbV9y ZWdpc3RyeS0tMS4wLnNxbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZHNtX3JlZ2lz dHJ5L3Rlc3RfZHNtX3JlZ2lzdHJ5LS0xLjAuc3FsCkBAIC0zLDcgKzMsNyBAQAogLS0gY29t cGxhaW4gaWYgc2NyaXB0IGlzIHNvdXJjZWQgaW4gcHNxbCwgcmF0aGVyIHRoYW4gdmlhIENS RUFURSBFWFRFTlNJT04KIFxlY2hvIFVzZSAiQ1JFQVRFIEVYVEVOU0lPTiB0ZXN0X2RzbV9y ZWdpc3RyeSIgdG8gbG9hZCB0aGlzIGZpbGUuIFxxdWl0CiAKLUNSRUFURSBGVU5DVElPTiBz ZXRfdmFsX2luX3NobWVtKHZhbCBJTlQpIFJFVFVSTlMgVk9JRAorQ1JFQVRFIEZVTkNUSU9O IGluY3JlbWVudF92YWxfaW5fc2htZW0odmFsIElOVCkgUkVUVVJOUyBWT0lECiAJQVMgJ01P RFVMRV9QQVRITkFNRScgTEFOR1VBR0UgQzsKIAogQ1JFQVRFIEZVTkNUSU9OIGdldF92YWxf aW5fc2htZW0oKSBSRVRVUk5TIElOVApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90 ZXN0X2RzbV9yZWdpc3RyeS90ZXN0X2RzbV9yZWdpc3RyeS5jIGIvc3JjL3Rlc3QvbW9kdWxl cy90ZXN0X2RzbV9yZWdpc3RyeS90ZXN0X2RzbV9yZWdpc3RyeS5jCmluZGV4IDhmNzgwMTJl NTIuLmVlZDI5YTlmMzQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kc21f cmVnaXN0cnkvdGVzdF9kc21fcmVnaXN0cnkuYworKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfZHNtX3JlZ2lzdHJ5L3Rlc3RfZHNtX3JlZ2lzdHJ5LmMKQEAgLTEzLDMzICsxMyw0OCBA QAogI2luY2x1ZGUgInBvc3RncmVzLmgiCiAKICNpbmNsdWRlICJmbWdyLmgiCisjaW5jbHVk ZSAiY29tbW9uL3BnX3BybmcuaCIKICNpbmNsdWRlICJwb3J0L2F0b21pY3MuaCIKICNpbmNs dWRlICJzdG9yYWdlL2RzbV9yZWdpc3RyeS5oIgorI2luY2x1ZGUgInN0b3JhZ2UvbHdsb2Nr LmgiCiAKIFBHX01PRFVMRV9NQUdJQzsKIAotc3RhdGljIHBnX2F0b21pY191aW50MzIgKnZh bDsKK3R5cGVkZWYgc3RydWN0Cit7CisJTFdMb2NrCWxvY2s7CisJdWludDMyCXZhbHVlOwor fSBTaGFyZWRTdGF0ZTsKKworc3RhdGljIFNoYXJlZFN0YXRlICpleHRzdGF0ZTsKIAogc3Rh dGljIHZvaWQKLWluaXRfdmFsKHZvaWQgKnB0cikKK2luaXRfZHNtKHZvaWQgKnB0cikKIHsK LQlwZ19hdG9taWNfaW5pdF91MzIocHRyLCAwKTsKKwlTaGFyZWRTdGF0ZSAqc3RhdGUgPSAo U2hhcmVkU3RhdGUgKikgcHRyOworCisJTFdMb2NrSW5pdGlhbGl6ZSgmc3RhdGUtPmxvY2ss IExXTG9ja05ld1RyYW5jaGVJZCgpKTsKKwlzdGF0ZS0+dmFsdWUgPSBwZ19wcm5nX3VpbnQz MigmcGdfZ2xvYmFsX3Bybmdfc3RhdGUpOwogfQogCiBzdGF0aWMgdm9pZAogZHNtX3JlZ2lz dHJ5X2F0dGFjaCh2b2lkKQogewotCWRzbV9yZWdpc3RyeV9pbml0X29yX2F0dGFjaCgidGVz dF9kc21fcmVnaXN0cnkiLCAodm9pZCAqKikgJnZhbCwKLQkJCQkJCQkJc2l6ZW9mKHBnX2F0 b21pY191aW50MzIpLCBpbml0X3ZhbCk7CisJZHNtX3JlZ2lzdHJ5X2luaXRfb3JfYXR0YWNo KCJ0ZXN0X2RzbV9yZWdpc3RyeSIsICh2b2lkICoqKSAmZXh0c3RhdGUsCisJCQkJCQkJCXNp emVvZihTaGFyZWRTdGF0ZSksIGluaXRfZHNtKTsKIH0KIAotUEdfRlVOQ1RJT05fSU5GT19W MShzZXRfdmFsX2luX3NobWVtKTsKK1BHX0ZVTkNUSU9OX0lORk9fVjEoaW5jcmVtZW50X3Zh bF9pbl9zaG1lbSk7CiBEYXR1bQotc2V0X3ZhbF9pbl9zaG1lbShQR19GVU5DVElPTl9BUkdT KQoraW5jcmVtZW50X3ZhbF9pbl9zaG1lbShQR19GVU5DVElPTl9BUkdTKQogeworCXVpbnQz MiBpbmNyZW1lbnQgPSBQR19HRVRBUkdfVUlOVDMyKDApOworCiAJZHNtX3JlZ2lzdHJ5X2F0 dGFjaCgpOwogCi0JKHZvaWQpIHBnX2F0b21pY19leGNoYW5nZV91MzIodmFsLCBQR19HRVRB UkdfVUlOVDMyKDApKTsKKwlMV0xvY2tBY3F1aXJlKCZleHRzdGF0ZS0+bG9jaywgTFdfRVhD TFVTSVZFKTsKKwlleHRzdGF0ZS0+dmFsdWUgKz0gaW5jcmVtZW50OworCUxXTG9ja1JlbGVh c2UoJmV4dHN0YXRlLT5sb2NrKTsKIAogCVBHX1JFVFVSTl9WT0lEKCk7CiB9CkBAIC00OCw3 ICs2MywxMyBAQCBQR19GVU5DVElPTl9JTkZPX1YxKGdldF92YWxfaW5fc2htZW0pOwogRGF0 dW0KIGdldF92YWxfaW5fc2htZW0oUEdfRlVOQ1RJT05fQVJHUykKIHsKKwl1aW50MzIgcmVz dWx0OworCiAJZHNtX3JlZ2lzdHJ5X2F0dGFjaCgpOwogCi0JUEdfUkVUVVJOX1VJTlQzMihw Z19hdG9taWNfZmV0Y2hfYWRkX3UzMih2YWwsIDApKTsKKwlMV0xvY2tBY3F1aXJlKCZleHRz dGF0ZS0+bG9jaywgTFdfU0hBUkVEKTsKKwlyZXN1bHQgPSBleHRzdGF0ZS0+dmFsdWU7CisJ TFdMb2NrUmVsZWFzZSgmZXh0c3RhdGUtPmxvY2spOworCisJUEdfUkVUVVJOX1VJTlQzMihy ZXN1bHQpOwogfQo= --------------d3NU0i9esYRfpyJHkmF6qyp0--