From: | Florian Pflug <fgp(at)phlo(dot)org> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: lazy vxid locks, v1 |
Date: | 2011-06-22 21:43:12 |
Message-ID: | 8348A657-D387-4A6D-9511-B13EE3321C0D@phlo.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Jun12, 2011, at 23:39 , Robert Haas wrote:
> So, the majority (60%) of the excess spinning appears to be due to
> SInvalReadLock. A good chunk are due to ProcArrayLock (25%).
Hm, sizeof(LWLock) is 24 on X86-64, making sizeof(LWLockPadded) 32.
However, cache lines are 64 bytes large on recent Intel CPUs AFAIK,
so I guess that two adjacent LWLocks currently share one cache line.
Currently, the ProcArrayLock has index 4 while SInvalReadLock has
index 5, so if I'm not mistaken exactly the two locks where you saw
the largest contention on are on the same cache line...
Might make sense to try and see if these numbers change if you
either make LWLockPadded 64bytes or arrange the locks differently...
best regards,
Florian Pflug
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2011-06-22 22:08:40 | Re: Repeated PredicateLockRelation calls during seqscan |
Previous Message | Dan Ports | 2011-06-22 21:29:50 | Re: Repeated PredicateLockRelation calls during seqscan |