Added to TODO:
* Evaluate AIX cs() spinlock macro for performance optimizations (Tatsuo)
---------------------------------------------------------------------------
Tatsuo Ishii wrote:
> > > 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
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026