From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | Matthew Wakeling <matthew(at)flymine(dot)org>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Proposal of tunable fix for scalability of 8.4 |
Date: | 2009-03-18 20:26:45 |
Message-ID: | 15144.1237408005@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
> On Mon, 2009-03-16 at 16:26 +0000, Matthew Wakeling wrote:
>> One possibility would be for the locks to alternate between exclusive
>> and
>> shared - that is:
>>
>> 1. Take a snapshot of all shared waits, and grant them all -
>> thundering
>> herd style.
>> 2. Wait until ALL of them have finished, granting no more.
>> 3. Take a snapshot of all exclusive waits, and grant them all, one by
>> one.
>> 4. Wait until all of them have been finished, granting no more.
>> 5. Back to (1)
> I agree with that, apart from the "granting no more" bit.
> Currently we queue up exclusive locks, but there is no need to since for
> ProcArrayLock commits are all changing different data.
> The most useful behaviour is just to have two modes:
> * exclusive-lock held - all other x locks welcome, s locks queue
> * shared-lock held - all other s locks welcome, x locks queue
My goodness, it seems people have forgotten about the "lightweight"
part of the LWLock design.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Carey | 2009-03-18 21:16:01 | Re: Proposal of tunable fix for scalability of 8.4 |
Previous Message | Tom Lane | 2009-03-18 20:21:26 | Re: Extremely slow intarray index creation and inserts. |