• Thomas Munro's avatar
    Preallocate some DSM space at startup. · 84b1c63a
    Thomas Munro authored
    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.
    
    Discussion: https://postgr.es/m/CA%2BhUKGLAE2QBv-WgGp%2BD9P_J-%3Dyne3zof9nfMaqq1h3EGHFXYQ%40mail.gmail.com
    84b1c63a
dsm_impl.c 29.6 KB