Re: Add 64-bit XIDs into PostgreSQL 15

From: Maxim Orlov <orlovmg(at)gmail(dot)com>
To: Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Stephen Frost <sfrost(at)snowman(dot)net>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Ilya Anfimov <ilan(at)tzirechnoy(dot)com>
Subject: Re: Add 64-bit XIDs into PostgreSQL 15
Date: 2022-05-27 13:48:48
Message-ID: CACG=ezb=y_N1yL_r2idtf-hTuu6AHpgFH-s4a9HMCm-AbykAMQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

Here is a rebased and improved version of the patchset: now we use 64 bit
atomic operations on shared memory which was not previously warrantied on
32 bit architectures.

Before this change under heavy transaction concurrency we've got a warning
"xmin is far in the past", rarely. This was seen on 32 bit architectures.

On 64 bit these changes do not change performance since 64 bit atomicity is
automatically fulfilled.

Only 0008 patch is changed.

--
Best regards,
Maxim Orlov.

Attachment Content-Type Size
v36-0006-README.XID64.patch text/x-patch 7.2 KB
v36-0007-Use-64-bit-GUCs.patch text/x-patch 25.8 KB
v36-0005-Add-initdb-option-to-initialize-cluster-with-non.patch text/x-patch 24.4 KB
v36-0004-Use-64-bit-pages-representation-in-SLRU-callers.patch text/x-patch 23.7 KB
v36-0008-Use-64-bit-XIDs.patch text/x-patch 706.2 KB
v36-0001-Use-64-bit-numbering-of-SLRU-pages.patch text/x-patch 24.5 KB
v36-0002-Use-64-bit-format-to-output-XIDs.patch text/x-patch 121.4 KB
v36-0003-Use-64-bit-FullTransactionId-instead-of-Epoch-xi.patch text/x-patch 18.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2022-05-27 13:56:08 Re: "ERROR: latch already owned" on gharial
Previous Message Ranier Vilela 2022-05-27 13:35:08 Re: Improving connection scalability (src/backend/storage/ipc/procarray.c)