| From: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de> |
| Cc: | YUriy Zhuravlev <u(dot)zhuravlev(at)postgrespro(dot)ru>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Move PinBuffer and UnpinBuffer to atomics |
| Date: | 2015-09-15 13:07:57 |
| Message-ID: | CAHyXU0xxsGb1Q6ZQR84Y8Oauq-Tyu-ZeQWujQ1RBJu+jM6b1WA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Sep 14, 2015 at 9:06 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> On 2015-09-14 17:41:42 +0200, Andres Freund wrote:
>> I pointed out how you can actually make this safely lock-free giving you
>> the interesting code.
>
> And here's an actual implementation of that approach. It's definitely
> work-in-progress and could easily be optimized further. Don't have any
> big machines to play around with right now tho.
Are you confident this is faster across all workloads? Pin/Unpin are
probably faster but this comes at a cost of extra atomic ops during
the clock sweep loop. I wonder if this will degrade results under
heavy contention.
Also, I'm curious about your introduction of __builtin_expect()
macros. Did you measure any gain from them? I bet there are other
places they could be used -- for example the mvcc hint bit checks on
xmin.
merlin
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jim Nasby | 2015-09-15 13:18:28 | Re: Multi-tenancy with RLS |
| Previous Message | Jim Nasby | 2015-09-15 12:57:21 | Re: Can extension build own SGML document? |