[PATCH] S390: Remove support for lock elision.

Stefan Liebler stli@linux.ibm.com
Tue Jul 8 13:07:51 GMT 2025


On 7/8/25 14:08, Adhemerval Zanella Netto wrote:
> 
> 
> On 08/07/25 04:28, Stefan Liebler wrote:
>> On 7/3/25 14:34, Adhemerval Zanella Netto wrote:
>>>
>>>
>>> On 03/07/25 04:06, Stefan Liebler wrote:
>>>> On 7/2/25 17:53, Adhemerval Zanella Netto wrote:
>>>>>
>>>>>
>>>>> On 01/07/25 06:39, Stefan Liebler wrote:
>>>>>> The support for TX lock elision of pthread mutexes on s390x is now removed.
>>>>>>
>>>>>> As already announced back in 2022 with z16, the used non-constrained
>>>>>> transactions are now not usable anymore on z17
>>>>>> (https://www.ibm.com/support/pages/system/files/inline-files/Tech%20Bytes%20May%202025%20zVM%207.4%20and%20IBM%20z17.pdf):
>>>>>> z16 Statement of Direction:
>>>>>> Removal of support of the transactional execution and constrained transactional
>>>>>> execution facility: In a future IBM Z hardware system family, the transactional
>>>>>> execution and constrained transactional execution facility will no longer be
>>>>>> supported.  Users of the facility on current servers should always check the
>>>>>> facility indications before use.
>>>>>>
>>>>>> z17 Support:
>>>>>> Reduced support for transactional execution (TX) - Non-constrained transactions
>>>>>> will result in unconditionally aborting with condition code 1 (CC1) and no TDB
>>>>>> stored.
>>>>>
>>>>> I wonder if we still want to support it for x86 and powerpc.  If I
>>>>> recall correctly, x86 results are mixed and on some chips TSX was
>>>>> disabled in firmware to avoid some odd issues.  On POWER the kernel
>>>>> added PPC_FEATURE2_HTM_NOSC to avoid some odd ssues as well.
>>>>>
>>>> Good question, but I can only decide it for s390x. Therefore this patch
>>>> only covers s390x.
>>>> Nevertheless, I've added the powerpc / x86_64 maintainers. Perhaps they
>>>> can decide for power and x86_64.
>>>
>>> When I added support for powerpc it was more to add feature parity with
>>> x86 and to add a way to explore HTM/LE with pthreads.  However, I have
>>> not heard any project that actively uses, nor any performance benefits
>>> of using it along pthread. 
>>
>> As there is currently no response regarding removal of lock elision also
>> for power and x86_64, if nobody opposes, I would like to commit the
>> removal of lock elision support for s390x in a few days.
>>
>> @Andreas Hüttel: Is this fine for you regarding the release?
> 
> From your descriptor TLE is still supported on old chips.  I would expect to 
> add it as deprecated on this release and remove on next one.
> 
> I fact I think we should mark TLE support for all architectures as deprecated
> and remove all them together on 2.43.
> 
Fair enough, I've posted this patch to add a deprecation note in NEWS
file. Can you please have a look:
[PATCH] Mark support for lock elision as deprecated.
https://sourceware.org/pipermail/libc-alpha/2025-July/168493.html

After 2.42 release, I will post a new patch to remove lock elision on
all architectures.

Thanks,
Stefan


More information about the Libc-alpha mailing list