From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Craig Ringer <craig(at)2ndquadrant(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: OK, so culicidae is *still* broken |
Date: | 2017-04-25 05:37:32 |
Message-ID: | bec16500-e944-f438-c277-7176b5c53a70@iki.fi |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 04/24/2017 09:50 PM, Andres Freund wrote:
> On 2017-04-24 14:43:11 -0400, Tom Lane wrote:
>> (We have accepted that kind of overhead for DSM segments, but the
>> intention I think is to allow only very trivial data structures in
>> the DSM segments. Losing compiler pointer type checking for data
>> structures like the lock or PGPROC tables would be horrid.)
>
> The relptr.h infrastructure brings some of the type-checking back, but
> it's still pretty painful. And just as important, it's quite noticeable
> performance-wise. So we have to do it for dynamic shm (until/unless we
> go to using threads), but that doesn't mean we should do it for some of
> the most performance critical data structures in PG...
Agreed.
For some data shared memory structures, that store no pointers, we
wouldn't need to insist that they are mapped to the same address in
every backend, though. In particular, shared_buffers. It wouldn't
eliminate the problem, though, only make it less likely, so we'd still
need to retry when it does happen.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Ashutosh Bapat | 2017-04-25 05:39:15 | Re: PG 10 release notes |
Previous Message | Ashutosh Bapat | 2017-04-25 05:21:01 | Re: Foreign Join pushdowns not working properly for outer joins |