From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Mengxing Liu <liu-mx15(at)mails(dot)tsinghua(dot)edu(dot)cn>, kgrittn <kgrittn(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Re: [GSOC][weekly report 9] Eliminate O(N^2) scaling from rw-conflict tracking in serializable transactions |
Date: | 2017-08-09 19:40:57 |
Message-ID: | CA+Tgmoart=qNk7V9rT+Qjjs=OQCUUF4y8o9dXOARhaEBBwaMWQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Aug 7, 2017 at 1:51 PM, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
> * the whole predicate.c stuff is written using SHM_QUEUE. I suppose
> SHM_QUEUE works just fine, but predicate.c was being written at about
> the same time (or a bit earlier) than the newer ilist.c interface was
> being created, which I think had more optimization work thrown in.
> Maybe it would be good for predicate.c to ditch use of SHM_QUEUE and
> use ilist.c interfaces instead? We could even think about being less
> strict about holding exclusive lock on SerializableFinished for the
> duration of ClearOldPredicateLocks, i.e. use only a share lock and
> only exchange for exclusive if a list modification is needed.
I think we should rip SHM_QUEUE out completely and get rid of it. It
doesn't make sense to have two implementations, one of which by its
name is only for use in shared memory.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-08-09 20:03:44 | More fun with container types |
Previous Message | Robert Haas | 2017-08-09 19:37:37 | Re: why not parallel seq scan for slow functions |