Re: Typo in README.barrier
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Tatsuo Ishii <ishii@sraoss.co.jp>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-05-16T12:51:50Z
Lists: pgsql-hackers
On Mon, 17 May 2021 at 00:11, Tatsuo Ishii <ishii@sraoss.co.jp> wrote: > I think there is a typo in src/backend/storage/lmgr/README.barrier. > Attached patch should fix it. Yeah looks like a typo to me. I wonder if we also need to fix this part: > either one does their writes. Eventually we might be able to use an atomic > fetch-and-add instruction for this specific case on architectures that support > it, but we can't rely on that being available everywhere, and we currently > have no support for it at all. Use a lock. That seems to have been written at a time before we got atomics. The following also might want to mention atomics too: > 2. Eight-byte loads and stores aren't necessarily atomic. We assume in > various places in the source code that an aligned four-byte load or store is > atomic, and that other processes therefore won't see a half-set value. > Sadly, the same can't be said for eight-byte value: on some platforms, an > aligned eight-byte load or store will generate two four-byte operations. If > you need an atomic eight-byte read or write, you must make it atomic with a > lock. David
Commits
-
Fix typo and outdated information in README.barrier
- 943bda157eca 9.6.23 landed
- e71219ca11fa 10.18 landed
- a399755ba2fc 11.13 landed
- 898c62951e80 12.8 landed
- 010429eb1f77 13.4 landed
- 2ded19fa3a4d 14.0 landed