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

From Tatsuo Ishii
Subject Re: 7.1 vs. 7.2 on AIX 5L
Date
Msg-id 20020116095821Q.t-ishii@sra.co.jp
Whole thread Raw
In response to Re: 7.1 vs. 7.2 on AIX 5L  ("Zeugswetter Andreas SB SD" <ZeugswetterA@spardat.at>)
Responses Re: 7.1 vs. 7.2 on AIX 5L  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: 7.1 vs. 7.2 on AIX 5L  (Bruce Momjian <pgman@candle.pha.pa.us>)
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) ?

Thanks. I will try with it.

BTW, I'm still wondering why 7.2 is slower than 7.1 on AIX. Tom said
cs() is responsible for that. But not only 7.2 but 7.1 uses cs(). It
seems cs() does not explain the difference of the performance.
--
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Hiroshi Inoue
Date:
Subject: Re: Theory about XLogFlush startup failures
Next
From: Bruce Momjian
Date:
Subject: Re: 7.1 vs. 7.2 on AIX 5L