"Staale Smedseng" <Staale.Smedseng@Sun.COM> writes:
> The stack trace shows that the only time the lock is acquired
> exclusively is from the call to ProcArrayEndTransaction() in
> CommitTransaction().
I'm not sure but I think that's only true in 8.3. As I understood it in 8.2
transaction start also needed the exclusive lock.
> Also, an interesting observation is that the hot locks seem to have
> changed from v8.2 to v8.3, making the ProcArrayLock more contended. See
> the following outputs:
>
> PostgreSQL 8.2 (32-bit):
>...
> PostgreSQL 8.3 (64-bit):
>...
I'm not sure 32-bit and 64-bit cases are going to be directly comparable. We
could have a problem with cache line aliasing on only one or the other for
example.
But that is a pretty striking difference. Does the 8.3 run complete more
transactions in that time?
-- Gregory Stark EnterpriseDB http://www.enterprisedb.com Ask me about EnterpriseDB's 24x7 Postgres support!