On Mon, 14 Sept 2026 at 09:19, Chao Li <[email protected]> wrote: > > Hi, > > I just noticed this item when I went through my TODO list today. I remember > finding this issue a few months ago, but at that time, only bugs new to PG19 > were being processed, so I put it on my TODO list. > > This is a small issue, but it has been there for many years. > CalculateShmemSize() has logic to round size to a multiple of a typical page > size: > ``` > /* might as well round it off to a multiple of a typical page size */ > size = add_size(size, 8192 - (size % 8192)); > ``` > > When size is already a multiple of 8192, this add_size() call is not needed; > it only results in an extra 8192 bytes being allocated in shared memory. The > fix is simple: > ``` > if (size % 8192 != 0) > /* might as well round it off to a multiple of a typical page > size */ > size = add_size(size, 8192 - (size % 8192)); > ``` > > I put the comment within the if clause because I remember Tom once mentioning > that this would be the preferred style.
Shouldn't a TYPEALIGN(8192, size) do the trick here, and do it more concise and better? Kind regards, Matthias van de Meent Databricks (https://www.databricks.com)
