Re: Emit fewer vacuum records by reaping removable tuples during pruning

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Peter Geoghegan <pg(at)bowt(dot)ie>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: Emit fewer vacuum records by reaping removable tuples during pruning
Date: 2024-01-09 22:42:38
Message-ID: CAAKRu_btji_wQdg=ok-5E4v_bGVxKYnnFFe7RA6Frc1EcOwtSg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 9, 2024 at 3:40 PM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>
> On Tue, Jan 9, 2024 at 3:13 PM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
> > I had already written the patch for immediate reaping addressing the
> > below feedback before I saw the emails that said everyone is happy
> > with using hastup in lazy_scan_[no]prune() in a preliminary patch. Let
> > me know if you have a strong preference for reordering. Otherwise, I
> > will write the three subsequent patches on top of this one.
>
> I don't know if it rises to the level of a strong preference. It's
> just a preference.

Attached v6 has the immediate reaping patch first followed by the code
to use hastup in lazy_scan_[no]prune(). 0003 and 0004 move the VM
update code into lazy_scan_prune() and eliminate LVPagePruneState
entirely. 0005 moves the FSM update into lazy_scan_[no]prune(),
substantially simplifying lazy_scan_heap().

> I agree that we can leave that out. It wouldn't be bad to include it
> if someone had a nice way of doing that, but it doesn't seem critical,
> and if forcing it in there makes the comment less clear overall, it's
> a net loss IMHO.
>
> > Hmm. Yes. I suppose I was trying to find something to validate. Is it
> > worth checking that the line pointer is not already LP_UNUSED? Or is
> > that a bit ridiculous?
>
> I think that's worthwhile (hence my proposed wording).

Done in attached v6.

- Melanie

Attachment Content-Type Size
v6-0003-Move-VM-update-code-to-lazy_scan_prune.patch text/x-patch 10.8 KB
v6-0001-Set-would-be-dead-items-LP_UNUSED-while-pruning.patch text/x-patch 15.4 KB
v6-0002-Indicate-rel-truncation-unsafe-in-lazy_scan-no-pr.patch text/x-patch 7.6 KB
v6-0005-Move-freespace-map-update-into-lazy_scan_-no-prun.patch text/x-patch 9.1 KB
v6-0004-Inline-LVPagePruneState-members-in-lazy_scan_prun.patch text/x-patch 11.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2024-01-09 22:55:44 Re: Built-in CTYPE provider
Previous Message Jeff Davis 2024-01-09 22:31:59 Re: Built-in CTYPE provider