Hi Thomas,
On Fri, Jul 31, 2020 at 05:54:45AM +0000, Thomas Munro wrote:
> Preallocate some DSM space at startup.
>
> Create an optional region in the main shared memory segment that can be
> used to acquire and release "fast" DSM segments, and can benefit from
> huge pages allocated at cluster startup time, if configured. Fall back
> to the existing mechanisms when that space is full. The size is
> controlled by a new GUC min_dynamic_shared_memory, defaulting to 0.
>
> Main region DSM segments initially contain whatever garbage the memory
> held last time they were used, rather than zeroes. That change revealed
> that DSA areas failed to initialize themselves correctly in memory that
> wasn't zeroed first, so fix that problem.
longfin is complaning on this one:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=longfin&dt=2020-07-31%2005%3A59%3A08
guc.c:2241:38: error: implicit conversion from 'unsigned long' to
'int' changes value from 17592186044415 to -1
[-Werror,-Wconstant-conversion]
0, 0, Min(INT_MAX, SIZE_MAX / 1024 / 1024),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../../../../src/include/c.h:927:40: note: expanded from macro 'Min'
#define Min(x, y) ((x) < (y) ? (x) : (y))
^
1 error generated.
--
Michael