Re: 7.1 vs. 7.2 on AIX 5L

From: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
To: ZeugswetterA(at)spardat(dot)at
Cc: tgl(at)sss(dot)pgh(dot)pa(dot)us, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 7.1 vs. 7.2 on AIX 5L
Date: 2002-01-16 00:58:21
Message-ID: 20020116095821Q.t-ishii@sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2002-01-16 02:15:33 Re: 7.1 vs. 7.2 on AIX 5L
Previous Message Hiroshi Inoue 2002-01-16 00:19:11 Re: Theory about XLogFlush startup failures