diff options
author | Stefan Liebler <stli@linux.vnet.ibm.com> | 2016-12-20 15:12:48 +0100 |
---|---|---|
committer | Stefan Liebler <stli@linux.vnet.ibm.com> | 2016-12-20 15:12:48 +0100 |
commit | 53c5c3d5ac238901c13f28a73ba05b0678094e80 (patch) | |
tree | c9419d79ec76ed267d8887cc2ea31c4ffada2610 /ChangeLog | |
parent | 8bfc4a2ab4bebdf86c151665aae8a266e2f18fb4 (diff) | |
download | glibc-53c5c3d5ac238901c13f28a73ba05b0678094e80.zip glibc-53c5c3d5ac238901c13f28a73ba05b0678094e80.tar.gz glibc-53c5c3d5ac238901c13f28a73ba05b0678094e80.tar.bz2 |
S390: Use new __libc_tbegin_retry macro in elision-lock.c.
This patch implements __libc_tbegin_retry macro which is equivalent to
gcc builtin __builtin_tbegin_retry, except the changes which were applied
to __libc_tbegin in the previous patch.
If tbegin aborts with _HTM_TBEGIN_TRANSIENT. Then this macros restores
the fpc, fprs and automatically retries up to retry_cnt tbegins.
Further saving of the state is omitted as it is already saved in the
first round. Before retrying a further transaction, the
transaction-abort-assist instruction is used to support the cpu.
This macro is now used in function __lll_lock_elision.
ChangeLog:
* sysdeps/unix/sysv/linux/s390/htm.h(__libc_tbegin_retry): New macro.
* sysdeps/unix/sysv/linux/s390/elision-lock.c (__lll_lock_elision):
Use __libc_tbegin_retry macro.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2016-12-20 Stefan Liebler <stli@linux.vnet.ibm.com> + * sysdeps/unix/sysv/linux/s390/htm.h(__libc_tbegin_retry): New macro. + * sysdeps/unix/sysv/linux/s390/elision-lock.c (__lll_lock_elision): + Use __libc_tbegin_retry macro. + +2016-12-20 Stefan Liebler <stli@linux.vnet.ibm.com> + * sysdeps/unix/sysv/linux/s390/Makefile (elision-CFLAGS): Add -msoft-float. * sysdeps/unix/sysv/linux/s390/htm.h: New File. |