From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Antonin Houska <ah(at)cybertec(dot)at>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Atomics in localbuf.c |
Date: | 2020-03-06 19:06:41 |
Message-ID: | 20200306190641.ak432cz2vbhurtvy@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2020-03-06 11:26:41 -0500, Robert Haas wrote:
> On Fri, Mar 6, 2020 at 2:04 AM Antonin Houska <ah(at)cybertec(dot)at> wrote:
> > ok. What I missed is that BufferDesc.state is declared as pg_atomic_uint32
> > rather than plain int, so the pg_atomic_...() functions should be used
> > regardless the buffer is shared or local. Sorry for the noise.
>
> Right. I thought, though, that your question was why we did it that
> way instead of just declaring them as uint32. I'm not sure it's very
> important, but I think that question hasn't really been answered.
I tried, at least:
> Since local/shared buffers share the buffer header definition, we still have to use proper functions to access
> the atomic variables.
There's only one struct BufferDesc. We could separate them out /
introduce a union or such. But that'd add some complexity / potential
for mistakes too.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Aleksei Ivanov | 2020-03-06 19:09:23 | Re: Proposal: PqSendBuffer removal |
Previous Message | Peter Geoghegan | 2020-03-06 19:01:19 | Re: [HACKERS] [WIP] Effective storage of duplicates in B-tree index. |