Content-Length: 262318 | pFad | http://github.com/postgrespro/postgres/commit/b2397aae23982b77de29d3a55b263a03852d0714

A1 Declare aarch64 has single copy atomicity for 8 byte values. · postgrespro/postgres@b2397aa · GitHub
Skip to content

Commit b2397aa

Browse files
committed
Declare aarch64 has single copy atomicity for 8 byte values.
Architecture Reference Manual for ARMv8 B2.2.1 [1] 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. [1] https://documentation-service.arm.com/static/61fbe8f4fa8173727a1b734e https://developer.arm.com/documentation/ddi0487/latest Author: Yura Sokolov <y.sokolov@postgrespro.ru> Reviewed-by: Thomas Munro <thomas.munro@gmail.com> Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com> Discussion: https://postgr.es/m/f7f3f0febe27862711f924a7b0f39e065e547f4b.camel%40postgrespro.ru Discussion: https://postgr.es/m/CA%2BhUKGKyJf7kwYkqDgzTE26Ra1m9nvM%3Deds2RSSu7WSL-r2wKw%40mail.gmail.com
1 parent d7b5c07 commit b2397aa

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/include/port/atomics/arch-arm.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,10 @@
2323
*/
2424
#if !defined(__aarch64__) && !defined(__aarch64)
2525
#define PG_DISABLE_64_BIT_ATOMICS
26+
#else
27+
/*
28+
* Architecture Reference Manual for ARMv8 states aligned read/write to/from
29+
* general purpose register is atomic.
30+
*/
31+
#define PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY
2632
#endif /* __aarch64__ || __aarch64 */

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/postgrespro/postgres/commit/b2397aae23982b77de29d3a55b263a03852d0714

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy