From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Use PGAlignedBlock instead of "char buf[BLCKSZ]" in more places |
Date: | 2023-12-04 17:47:24 |
Message-ID: | 20231204174724.3va4cqu3dmrbnwsj@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2023-12-04 15:53:44 +0100, Peter Eisentraut wrote:
> On 04.12.23 06:46, Michael Paquier wrote:
> > On Mon, Dec 04, 2023 at 06:59:13AM +0530, Bharath Rupireddy wrote:
> > > The commit 44cac934 replaced "char buf[BLCKSZ]" with PGAlignedBlock to
> > > avoid issues on alignment-picky hardware. While it replaced most of the
> > > instances, there are still some more left. How about we use PGAlignedBlock
> > > there too, something like the attached patch? A note [2] in the commit
> > > 44cac934 says that ensuring proper alignment makes kernel data transfers
> > > fasters and the left-over "char buf[BLCKSZ]" either do read() or write()
> > > system calls, so it might be worth to align them with PGAlignedBlock.
> > >
> > > Thoughts?
> >
> > The buffers used to write the lock file and the TLI history file are
> > not page buffers, and this could make code readers think that these
> > are pages.
>
> The type is called "aligned block", not "aligned buffer" or "aligned page",
> so I don't think it's incorrect to try to use it.
Block is a type defined in bufmgr.h...
> So I am honestly not sure if there's a point in changing
> > them because the current code is not incorrect, isn't it? It looks
> > like 2042b3428d39 for the TLI history file and 52948169bcdd for the
> > lock file began using BLCKSZ because that was just a handy thing to
> > do, and because we know they would never get beyond that.
>
> Yeah, it's not clear why these need to be block-sized. We shouldn't
> perpetuate this without more clarity about this.
If we change something, we should consider making buffers like these aligned
to page sizes, rather than just MAXALIGNED.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2023-12-04 17:58:11 | Re: [PATCH] pg_convert improvement |
Previous Message | Tristan Partin | 2023-12-04 17:20:56 | Re: Clean up some signal usage mainly related to Windows |