"Staale Smedseng" <[EMAIL PROTECTED]> 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!

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to