Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nUSpZ-0005AQ-74 for pgsql-hackers@arkaria.postgresql.org; Wed, 16 Mar 2022 12:32:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nUSpW-0000Xe-SJ for pgsql-hackers@arkaria.postgresql.org; Wed, 16 Mar 2022 12:32:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nUSpW-0000VT-H0 for pgsql-hackers@lists.postgresql.org; Wed, 16 Mar 2022 12:32:42 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nUSpS-0000lz-18 for pgsql-hackers@lists.postgresql.org; Wed, 16 Mar 2022 12:32:41 +0000 Received: from falcon-note (cyclops.postgrespro.ru [93.174.131.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id 6CEEB21C4FDF; Wed, 16 Mar 2022 15:32:35 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1647433955; bh=OG340Ir0zq4ZJ92PECfw5p0bKZDysCZ1wS/f8BksuoA=; h=Subject:From:To:Date; b=H4YGRtSalawJJWTN+8Y+7pKAphP8j/EGtRq5heX/Ku0wN2/O7bV+X8NfIm7njii3G 12QKq4588XIciBMP20Vi8F+1boOf6yMhacsJHCG+OGi73BRNe5jY7A4XMXY50Cxu2k k3Nocbbgx7P8TRRbNYz+tHtEO8mpaWGOTgyRxpZo= Message-ID: Subject: Declare PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY for aarch64 From: Yura Sokolov To: pgsql-hackers@lists.postgresql.org, Andres Freund Date: Wed, 16 Mar 2022 15:32:35 +0300 Organization: PostgresPro Content-Type: multipart/mixed; boundary="=-X9ERj62vgEg4ymuSKK4I" User-Agent: Evolution 3.36.5-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-X9ERj62vgEg4ymuSKK4I Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Good day, hackers. Architecture Reference Manual for ARMv8 B2.2.1 [1] states: For explicit memory effects generated from an Exception level the following rules apply: - A read that is generated by a load instruction that loads a single general-purpose register and is aligned to the size of the read in the instruction is single-copy atomic. - A write that is generated by a store instruction that stores a single general-purpose register and is aligned to the size of the write in the instruction is single-copy atomic. So I believe it is safe to define PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY for aarch64 [1] https://documentation-service.arm.com/static/61fbe8f4fa8173727a1b734e https://developer.arm.com/documentation/ddi0487/latest ------- regards Yura Sokolov Postgres Professional y.sokolov@postgrespro.ru funny.falcon@gmail.com --=-X9ERj62vgEg4ymuSKK4I Content-Disposition: attachment; filename*0=v0-0001-Declare-aarch64-has-single-copy-atomicity-for-8-b.pat; filename*1=ch Content-Type: text/x-patch; name="v0-0001-Declare-aarch64-has-single-copy-atomicity-for-8-b.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBiNjFiMDY1YWNiYTU3MGYxZjkzNWZmNmNhMTdkYzY4N2M0NWRiMmYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZdXJhIFNva29sb3YgPHkuc29rb2xvdkBwb3N0Z3Jlc3Byby5y dT4KRGF0ZTogV2VkLCAxNiBNYXIgMjAyMiAxNToxMjowNyArMDMwMApTdWJqZWN0OiBbUEFUQ0gg djBdIERlY2xhcmUgYWFyY2g2NCBoYXMgc2luZ2xlIGNvcHkgYXRvbWljaXR5IGZvciA4IGJ5dGUK IHZhbHVlcy4KCkFyY2hpdGVjdHVyZSBSZWZlcmVuY2UgTWFudWFsIGZvciBBUk12OCBCMi4yLjEg WzFdCgpGb3IgZXhwbGljaXQgbWVtb3J5IGVmZmVjdHMgZ2VuZXJhdGVkIGZyb20gYW4gRXhjZXB0 aW9uIGxldmVsIHRoZQpmb2xsb3dpbmcgcnVsZXMgYXBwbHk6Ci0gQSByZWFkIHRoYXQgaXMgZ2Vu ZXJhdGVkIGJ5IGEgbG9hZCBpbnN0cnVjdGlvbiB0aGF0IGxvYWRzIGEgc2luZ2xlCmdlbmVyYWwt cHVycG9zZSByZWdpc3RlciBhbmQgaXMgYWxpZ25lZCB0byB0aGUgc2l6ZSBvZiB0aGUgcmVhZCBp biB0aGUKaW5zdHJ1Y3Rpb24gaXMgc2luZ2xlLWNvcHkgYXRvbWljLgotIEEgd3JpdGUgdGhhdCBp cyBnZW5lcmF0ZWQgYnkgYSBzdG9yZSBpbnN0cnVjdGlvbiB0aGF0IHN0b3JlcyBhIHNpbmdsZQpn ZW5lcmFsLXB1cnBvc2UgcmVnaXN0ZXIgYW5kIGlzIGFsaWduZWQgdG8gdGhlIHNpemUgb2YgdGhl IHdyaXRlIGluIHRoZQppbnN0cnVjdGlvbiBpcyBzaW5nbGUtY29weSBhdG9taWMuCgpbMV0gaHR0 cHM6Ly9kb2N1bWVudGF0aW9uLXNlcnZpY2UuYXJtLmNvbS9zdGF0aWMvNjFmYmU4ZjRmYTgxNzM3 MjdhMWI3MzRlCmh0dHBzOi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi9kZGkwNDg3 L2xhdGVzdAotLS0KIHNyYy9pbmNsdWRlL3BvcnQvYXRvbWljcy9hcmNoLWFybS5oIHwgNiArKysr KysKIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9wb3J0L2F0b21pY3MvYXJjaC1hcm0uaCBiL3NyYy9pbmNsdWRlL3BvcnQvYXRvbWljcy9h cmNoLWFybS5oCmluZGV4IDIwODNlMzIzMGRiLi45ZmU4ZjFiOTVmNyAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvcG9ydC9hdG9taWNzL2FyY2gtYXJtLmgKKysrIGIvc3JjL2luY2x1ZGUvcG9ydC9h dG9taWNzL2FyY2gtYXJtLmgKQEAgLTIzLDQgKzIzLDEwIEBACiAgKi8KICNpZiAhZGVmaW5lZChf X2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0KQogI2RlZmluZSBQR19ESVNBQkxFXzY0 X0JJVF9BVE9NSUNTCisjZWxzZQorLyoKKyAqIEFyY2hpdGVjdHVyZSBSZWZlcmVuY2UgTWFudWFs IGZvciBBUk12OCBzdGF0ZXMgYWxpZ25lZCByZWFkL3dyaXRlIHRvL2Zyb20KKyAqIGdlbmVyYWwg cHVycG9zZSByZWdpc3RlciBpcyBhdG9taWMuCisgKi8KKyNkZWZpbmUgUEdfSEFWRV84QllURV9T SU5HTEVfQ09QWV9BVE9NSUNJVFkKICNlbmRpZiAgLyogX19hYXJjaDY0X18gfHwgX19hYXJjaDY0 ICovCi0tIAoyLjM1LjEKCg== --=-X9ERj62vgEg4ymuSKK4I--