Manfred Spraul <[EMAIL PROTECTED]> writes:I think I did that, but it still failed. 7.4cvs works, I'll ignore it.
... 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.
MAX_ALIGNOF affects the on-disk format, correct? Then I agree that it's the wrong to change it.
I agree, I'll write a patch.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.
Linux doesn't. Page table games are considered as evil, because tlb flushing is expensive, especially on SMP.(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?)
-- Manfred
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster