From: | Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Merlin Moncure <mmoncure(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, YUriy Zhuravlev <u(dot)zhuravlev(at)postgrespro(dot)ru>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Move PinBuffer and UnpinBuffer to atomics |
Date: | 2016-03-31 15:44:46 |
Message-ID: | CAPpHfdv5RxmJ1Z5Xz+mZu++=zTN_f9UCqN+Y4ZTGzg58835zmg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi!
On Thu, Mar 31, 2016 at 4:59 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
wrote:
> On Tue, Mar 29, 2016 at 10:52 PM, Alexander Korotkov <
> a(dot)korotkov(at)postgrespro(dot)ru> wrote:
>
>> Hi, Andres!
>>
>> Please, find next revision of patch in attachment.
>>
>>
> Couple of minor comments:
>
> + * The following two macroses
>
> is macroses right word to be used here?
>
> + * of this loop. It should be used as fullowing:
>
> /fullowing/following
>
> + * For local buffers usage of these macros shouldn't be used.
>
> isn't it better to write it as
>
> For local buffers, these macros shouldn't be used.
>
>
> static int ts_ckpt_progress_comparator(Datum a, Datum b, void *arg);
>
> -
>
> Spurious line deletion.
>
All of above is fixed.
+ * Since buffers are pinned/unpinned very frequently, this functions tries
> + * to pin buffer as cheap as possible.
>
> /this functions tries
>
> which functions are you referring here? Comment seems to be slightly
> unclear.
>
I meant just PinBuffer() there. UnpinBuffer() has another comment in the
body. Fixed.
> ! if (XLogHintBitIsNeeded() && (pg_atomic_read_u32(&bufHdr->state) &
> BM_PERMANENT))
>
> Is there a reason that you have kept macro's to read refcount and
> usagecount, but not for flags?
>
We could change dealing with flags to GET/SET macros. But I guess such
change would make review more complicated, because it would touch some
places which are unchanged for now. I think it could be done in a separate
refactoring patch.
Apart from this, I have verified that patch compiles on Windows and passed
> regressions (make check)!
>
Thank you! I didn't manage to try this on Windows.
> Nice work!
>
Thank you!
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Attachment | Content-Type | Size |
---|---|---|
pinunpin-cas-8.patch | application/octet-stream | 82.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Emre Hasegeli | 2016-03-31 15:46:41 | Re: [PATCH] we have added support for box type in SP-GiST index |
Previous Message | Joe Conway | 2016-03-31 15:44:35 | Re: So, can we stop supporting Windows native now? |