From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Tomas Vondra <tv@fuzzy.cz>
Cc: Simon Riggs <simon@2ndquadrant.com>
Cc: pgsql-committers <pgsql-committers@postgresql.org>
Cc: Andrew Dunstan <andrew@dunslane.net>
Subject: Re: pgsql: Generational memory allocator
Date: Thu, 23 Nov 2017 17:04:36 -0500
Message-ID: <13547.1511474676@sss.pgh.pa.us> (raw)
In-Reply-To: <20171123214636.unwkrkunr7m2bkii@alap3.anarazel.de>
References: <E1eHa4J-0006hI-Q8@gemulon.postgresql.org>
<20171123001649.y2nf7422iay6cw3v@alap3.anarazel.de>
<CANP8+jKoT=Pg5W_3FcKiDf+FMrJhFYacxt_g5E0=tkmb5s8M6g@mail.gmail.com>
<20171123193936.fncfnar5wkpx56mw@alap3.anarazel.de>
<21043.1511467602@sss.pgh.pa.us>
<c09b1f12-8042-1e77-1b3e-ca68a2b44167@fuzzy.cz>
<20171123214636.unwkrkunr7m2bkii@alap3.anarazel.de>
Andres Freund <andres@anarazel.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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: tgl@sss.pgh.pa.us, andres@anarazel.de, tv@fuzzy.cz, simon@2ndquadrant.com, andrew@dunslane.net
Subject: Re: pgsql: Generational memory allocator
In-Reply-To: <13547.1511474676@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox