Hi, Tom! Thanks for catching this.
On Thu, Aug 7, 2025 at 2:58 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Alexander Korotkov <aekorot...@gmail.com> writes: > > I'm going to push this if no objections. > > I looked at these patches while preparing release notes, and > found an oversight. CheckpointerShmemInit does > > CheckpointerShmem->max_requests = Min(NBuffers, > MAX_CHECKPOINT_REQUESTS); > > but CheckpointerShmemSize still does > > size = add_size(size, mul_size(NBuffers, sizeof(CheckpointerRequest))); > > So if NBuffers is more than MAX_CHECKPOINT_REQUESTS, we will allocate > extra CheckpointerRequest array entries that we will never use, > wasting shared memory. Admittedly the amount is small relative to the > shared buffers themselves, but at the very least this is confusing. > > The comment in CheckpointerShmemSize needs adjustment, too. I attached a patch to fix it. Best, Xuneng
v1-0001-Fix-checkpointer-shared-memory-allocation.patch
Description: Binary data