Manfred Spraul <manfred@colorfullife.com> writes:
> ... Initially I tried to increase MAX_ALIGNOF to 16, but
> the result didn't work:
You would need to do a full recompile and initdb to alter MAX_ALIGNOF.
However, if you are wanting to raise it past about 8, that's probably
not the way to go anyway; it would create padding wastage in too many
places. It would make more sense to allocate the buffers using a
variant ShmemAlloc that could be told to align this particular object
on an N-byte boundary. Then it costs you no more than N bytes in the
one place.
(BTW, I wonder whether there would be any win in allocating the buffers
on a 4K or 8K page boundary... do any kernels use virtual memory mapping
tricks to replace data copying in such cases?)
regards, tom lane