Re: pgsql: Generational memory allocator

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tomas Vondra <tv(at)fuzzy(dot)cz>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-committers <pgsql-committers(at)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: pgsql: Generational memory allocator
Date: 2017-11-23 22:04:36
Message-ID: 13547.1511474676@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Andres Freund <andres(at)anarazel(dot)de> writes:
> On 2017-11-23 22:34:57 +0100, Tomas Vondra wrote:
>> Hmmm, I see. Presumably adding this to GenerationChunk (similarly to what we
>> do in AllocChunkData) would address the issue:
>>
>> #if MAXIMUM_ALIGNOF > 4 && SIZEOF_VOID_P == 4
>> Size padding;
>> #endif
>>
>> but I have no way to verify that (no access to such machine). I wonder why
>> SlabChunk doesn't need to do that (perhaps a comment explaining that would
>> be appropriate?).

> Can't you just compile pg on a 32bit system and manually define MAXALIGN
> to 8 bytes?

I pushed a patch that computes how much padding to add and adds it.
(It might not really work if size_t and void * are different sizes,
because then there could be additional padding in the struct; but
that seems very unlikely.)

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tomas Vondra 2017-11-23 22:51:03 Re: pgsql: Generational memory allocator
Previous Message Tom Lane 2017-11-23 22:02:19 pgsql: Ensure sizeof(GenerationChunk) is maxaligned.