Re: [PATCH] Let's get rid of the freelist and the buffer_strategy_lock

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Greg Burd <greg@burd.me>
Cc: Nathan Bossart <nathandbossart@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2025-09-05T18:36:59Z
Lists: pgsql-hackers
On Fri, Jul 11, 2025 at 3:48 PM Greg Burd <greg@burd.me> wrote:
> I briefly considered how one might use what was left after surgery to produce some similar boolean signal to no avail.  I think that autoprewarm was simply trying to at most warm NBuffers then stop.  The freelist at startup was just a convenient thing to drain and get that done.  Maybe I'll try adapting autoprewarm to consider that global instead.

My concern had been that while autoprewarm was running, other system
activity could already have started and been filling up
shared_buffers. By considering whether there were actually free
buffers remaining, it would prewarm less in that case.

I'm not saying that was the perfect idea, I'm just telling you what I
was thinking at the time.

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



Commits

  1. bufmgr: Remove freelist, always use clock-sweep

  2. bufmgr: Use consistent naming of the clock-sweep algorithm