Re: 7.1 vs. 7.2 on AIX 5L - Mailing list pgsql-hackers

From Zeugswetter Andreas SB SD
Subject Re: 7.1 vs. 7.2 on AIX 5L
Date
Msg-id 46C15C39FEB2C44BA555E356FBCD6FA41EB4B2@m0114.s-mxs.net
Whole thread Raw
In response to 7.1 vs. 7.2 on AIX 5L  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Responses Re: 7.1 vs. 7.2 on AIX 5L  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: 7.1 vs. 7.2 on AIX 5L  (Tatsuo Ishii <t-ishii@sra.co.jp>)
List pgsql-hackers
 
> NOTICE:  LockRelease: no such lock
> 
> I'm afraid now the locking is broken. Will look into more.

Next try would be _check_lock (found in sys/atomic_op.h):

Description (from man page)

The _check_lock subroutine performs an atomic (uninterruptible) sequence of
operations. The compare_and_swap subroutine is similar, but does not issue
synchronization instructions and therefore is inappropriate for updating lock
words.

replace the TAS define with:
#define TAS(lock)       _check_lock(lock, 0, 1)

> with LinuxPPC asm:     2m9.340s
> with cs:            10m11.15s
> with fetch_and_or:    3m55.19s

with _check_lock:        3m29.990s

I think that the culprit may also be the S_UNLOCK (use _clear_lock) ?

Andreas


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Theory about XLogFlush startup failures
Next
From: Tom Lane
Date:
Subject: Re: 7.1 vs. 7.2 on AIX 5L