Re: Confine vacuum skip logic to lazy_scan_skip

From: Noah Misch <noah(at)leadboat(dot)com>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Melanie Plageman <melanieplageman(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>
Subject: Re: Confine vacuum skip logic to lazy_scan_skip
Date: 2024-07-16 01:52:26
Message-ID: 20240716015226.60.nmisch@google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jul 15, 2024 at 03:26:32PM +1200, Thomas Munro wrote:
> On Mon, Jul 8, 2024 at 2:49 AM Noah Misch <noah(at)leadboat(dot)com> wrote:
> > what is the scope of the review you seek?
>
> The patch "Refactor tidstore.c memory management." could definitely
> use some review.

That's reasonable. radixtree already forbids mutations concurrent with
iteration, so there's no new concurrency hazard. One alternative is
per_buffer_data big enough for MaxOffsetNumber, but that might thrash caches
measurably. That patch is good to go apart from these trivialities:

> - return &(iter->output);
> + return &iter->output;

This cosmetic change is orthogonal to the patch's mission.

> - for (wordnum = 0; wordnum < page->header.nwords; wordnum++)
> + for (int wordnum = 0; wordnum < page->header.nwords; wordnum++)

Likewise.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2024-07-16 03:19:06 Re: CI, macports, darwin version problems
Previous Message Michael Paquier 2024-07-16 01:37:39 Re: Flush pgstats file during checkpoints