Re: spinlocks on HP-UX

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: heikki(dot)linnakangas(at)enterprisedb(dot)com
Cc: robertmhaas(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org, manabu(dot)ori(at)gmail(dot)com
Subject: Re: spinlocks on HP-UX
Date: 2011-12-28 22:27:57
Message-ID: 20111229.072757.739790586976852276.t-ishii@sraoss.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 28.12.2011 14:03, Tatsuo Ishii wrote:
>>>> With help from IBM Japan Ltd. we did some tests on a larger IBM
>>>> machine than Tom Lane has used for his
>>>> test(http://archives.postgresql.org/message-id/8292.1314641721@sss.pgh.pa.us).
>>>> In his case it was IBM 8406-71Y, which has 8 physical cores and
>>>> 4SMT(32 threadings). Ours is IBM Power 750 Express, which has 32
>>>> physical cores and 4SMT(128 threadings), 256GB RAM.
>>>>
>>>> The test method was same as the one in the article above. The
>>>> differences are OS(RHEL 6.1), gcc version (4.4.5) and shared buffer
>>>> size(8GB).
>>>>
>>>> We tested 3 methods to enhance spin lock contention:
>>>>
>>>> 1) Add "hint" parameter to lwarx op which is usable POWER6 or later
>>>> architecure.
>>>>
>>>> 2) Add non-locked test in TAS()
>>>>
>>>> 3) #1 + #2
>>>>
>>>> We saw small performance enhancement with #1, larger one with #2 and
>>>> even better with #1+#2.
>>>
>>> Hmm, so you added the non-locked test in TAS()? Did you try adding it
>>> just to TAS_SPIN()? On Itanium, I found that it was slightly better
>>> to do it only in TAS_SPIN() - i.e. in the contended case.
>>
>> Here is new patch using TAS_SPIN(), created by Manabu Ori from IBM
>> Japan. Also this patch deal with older Power architectures which do
>> not have "hint" argument of lwarx opcode.
>>
>> According to him, the patch resulted in much better performance stock
>> git head.
>
> Impressive results.
>
> config/c-compiler.m4 doesn't seem like the right place for the
> configure test. Would there be any harm in setting the lwarx hint
> always; what would happen on older ppc processors that don't support
> it?

I think the load module just fails to run in this case, but I'd like
to confirm. Ori-san?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Brar Piening 2011-12-28 22:44:25 Re: Review of VS 2010 support patches
Previous Message Heikki Linnakangas 2011-12-28 20:18:36 Re: spinlocks on HP-UX