| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de> |
| Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: pgsql: Add pg_atomic_unlocked_write_u64 |
| Date: | 2025-12-04 15:51:10 |
| Message-ID: | aTGt7q4Jvn97uGAx@nathan |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers pgsql-hackers |
On Wed, Dec 03, 2025 at 11:40:47PM +0000, Andres Freund wrote:
> Add pg_atomic_unlocked_write_u64
>
> The 64bit equivalent of pg_atomic_unlocked_write_u32(), to be used in an
> upcoming patch converting BufferDesc.state into a 64bit atomic.
I noticed that this new function was defined as
ptr->value = val;
and couldn't figure out why that was safe. Above
pg_atomic_unlocked_write_u32(), I see this comment:
* The write is guaranteed to succeed as a whole, i.e. it's not possible to
* observe a partial write for any reader. ...
But the new 64-bit version doesn't seem to be surrounded by a check for
PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY, and I found no discussion about it in
the commit message or the linked thread. Am I missing something here?
--
nathan
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2025-12-04 15:56:12 | Re: pgsql: Add pg_atomic_unlocked_write_u64 |
| Previous Message | Peter Eisentraut | 2025-12-04 10:34:53 | pgsql: headerscheck ccache support |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Amit Langote | 2025-12-04 15:54:29 | Re: Batching in executor |
| Previous Message | Álvaro Herrera | 2025-12-04 15:43:44 | Re: Adding REPACK [concurrently] |