> On Sep 14, 2026, at 16:14, Matthias van de Meent 
> <[email protected]> wrote:
> 
> 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?
> 

TYPEALIGN(8192, size) would handle rounding more concisely, but I see 
add_size() has an overflow protection, maybe that matters?

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/






Reply via email to