From: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de>, Petr Jelinek <petr(at)2ndquadrant(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, John Gorman <johngorman2(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PATCH: two slab-like memory allocators |
Date: | 2016-12-01 02:26:56 |
Message-ID: | 40888631-2761-6eaa-e76f-3fdf7a09bd03@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Dne 11/27/2016 v 11:02 PM Andres Freund napsal(a):
> On 2016-11-27 22:21:49 +0100, Petr Jelinek wrote:
>> On 27/11/16 21:47, Andres Freund wrote:
>>> Hi,
>>>
>>>>> +typedef struct SlabBlockData *SlabBlock; /* forward reference */
>>>>> +typedef struct SlabChunkData *SlabChunk;
>>>>>
>>>>> Can we please not continue hiding pointers behind typedefs? It's a bad
>>>>> pattern, and that it's fairly widely used isn't a good excuse to
>>>>> introduce further usages of it.
>>>>>
>>>>
>>>> Why is it a bad pattern?
>>>
>>> It hides what is passed by reference, and what by value, and it makes it
>>> a guessing game whether you need -> or . since you don't know whether
>>> it's a pointer or the actual object. All to save a * in parameter and
>>> variable declaration?...
>>>
>>
>> FWIW I don't like that pattern either although it's used in many
>> parts of our code-base.
>
> But relatively few new ones, most of it is pretty old.
>
I do agree it's not particularly pretty pattern, but in this case it's
fairly isolated in the mmgr sources, and I quite value the consistency
in this part of the code (i.e. that aset.c, slab.c and generation.c all
use the same approach). So I haven't changed this.
The attached v7 fixes the off-by-one error in slab.c, causing failures
in test_decoding isolation tests, and renames Gen to Generation, as
proposed by Petr.
regards
Tomas
Attachment | Content-Type | Size |
---|---|---|
slab-allocators-v7.tgz | application/x-compressed-tar | 19.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2016-12-01 02:32:06 | Re: Re: [COMMITTERS] pgsql: Build HTML documentation using XSLT stylesheets by default |
Previous Message | Andreas Karlsson | 2016-12-01 02:17:26 | Re: pgcrypto compilation error due to stack-allocated EVP_CIPHER_CTX |