From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Reduce ProcArrayLock contention |
Date: | 2015-08-04 15:43:45 |
Message-ID: | CA+Tgmoa=mDa7RP3yLxUUed2F5Q4WXguVoVy74y-K=AMcaZc6DQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Aug 4, 2015 at 11:33 AM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> On 2015-08-04 11:29:39 -0400, Robert Haas wrote:
>> On Mon, Aug 3, 2015 at 8:39 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>> 1. I got rid of all of the typecasts. You're supposed to treat
>> pg_atomic_u32 as a magic data type that is only manipulated via the
>> primitives provided, not just cast back and forth between that and
>> u32.
>
> Absolutely. Otherwise no fallbacks can work.
>
>> 2. I got rid of the memory barriers. System calls are full barriers,
>> and so are compare-and-exchange operations. Between those two facts,
>> we should be fine without these.
>
> Actually by far not all system calls are full barriers?
How do we know which ones are and which ones are not?
I can't believe PGSemaphoreUnlock isn't a barrier. That would be cruel.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2015-08-04 15:50:20 | Re: Reduce ProcArrayLock contention |
Previous Message | Robert Haas | 2015-08-04 15:42:37 | Re: brin index vacuum versus transaction snapshots |