Re: SLRUs in the main buffer pool - Page Header definitions

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: "Bagga, Rishu" <bagrishu(at)amazon(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: SLRUs in the main buffer pool - Page Header definitions
Date: 2022-06-23 20:27:33
Message-ID: CA+TgmoYUf1XyukEV=DjjAqg_YEOOjP2Vno=125KwXSoTTPBU=Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 22, 2022 at 5:06 PM Bagga, Rishu <bagrishu(at)amazon(dot)com> wrote:
> We are suggesting a minimal BufferedObject page header
> to be the following, overlapping with the key fields near the beginning
> of the regular PageHeaderData:
>
> typedef struct BufferedObjectPageHeaderData
> {
> PageXLogRecPtr pd_lsn;
> uint16_t pd_checksum;
> uint16_t pd_flags;
> uint16_t pd_pagesize_version;
> } BufferedObjectPageHeaderData;
>
> For reference, the regular page header looks like the following:
> typedef struct PageHeaderData
> {
> PageXLogRecPtr pd_lsn;
> uint16_t pd_checksum;
> uint16_t pd_flags;
> LocationIndex pd_lower;
> LocationIndex pd_upper;
> LocationIndex pd_special;
> uint16_t pd_pagesize_version;
> TransactionId pd_prune_xid;
> ItemIdDataCommon pd_linp[];
> } PageHeaderData;
>
> After careful review, we have trimmed out the heap and index specific
> fields from the suggested header that do not add any value to SLRU
> components. We plan to use pd_lsn, pd_checksum, and pd_pagesize_version
> in the same way that they are in relational pages. These fields are
> needed to ensure consistency, durability and page correctness

I think that it's not worth introducing a new page header format to
save 10 bytes per page. Keeping things on the same format is likely to
save more than the minor waste of space costs.

--
Robert Haas
EDB: http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2022-06-23 20:38:50 Re: CI and test improvements
Previous Message Bagga, Rishu 2022-06-23 20:25:21 Re: SLRUs in the main buffer pool - Page Header definitions