diff options
author | Dominik Vogt <vogt@linux.vnet.ibm.com> | 2014-05-09 16:58:46 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2014-05-09 16:58:46 +0200 |
commit | 5a414ff70c3a45e52b5f5c0741bd459a84cf56b8 (patch) | |
tree | 036ad6a707ea587149cb057f3e41b7bdd086cbdd /ChangeLog | |
parent | f63c86fed0ddf38f53de486c5ec537455c00bd52 (diff) | |
download | glibc-5a414ff70c3a45e52b5f5c0741bd459a84cf56b8.tar glibc-5a414ff70c3a45e52b5f5c0741bd459a84cf56b8.tar.gz glibc-5a414ff70c3a45e52b5f5c0741bd459a84cf56b8.tar.bz2 glibc-5a414ff70c3a45e52b5f5c0741bd459a84cf56b8.zip |
S/390: Port of lock elision to System/z
Added support for TX lock elision of pthread mutexes on s390 and
s390x. This may improve lock scaling of existing programs on TX
capable systems. The lock elision code is only built with
--enable-lock-elision=yes and then requires a GCC version supporting
the TX builtins. With lock elision default mutexes are elided via
__builtin_tbegin, if the cpu supports transactions. By default lock
elision is not enabled and the elision code is not built.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -1,3 +1,38 @@ +2014-05-09 Dominik Vogt <vogt@linux.vnet.ibm.com> + Stefan Liebler <stli@linux.vnet.ibm.com> + + * config.make.in (enable-lock-elision): New Makefile variable. + * configure.ac: Likewise. + * configure: Regenerate. + * sysdeps/s390/configure.ac: + Add check for gcc transactions support. + * sysdeps/s390/configure: Regenerate. + * nptl/sysdeps/unix/sysv/linux/s390/Makefile: New file. + Build elision files if enabled. + * nptl/sysdeps/unix/sysv/linux/s390/elision-conf.c: New file. + Add lock elision support for s390. + * nptl/sysdeps/unix/sysv/linux/s390/elision-conf.h: Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/elision-lock.c: Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/elision-timed.c: Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/elision-trylock.c: Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/elision-unlock.c: Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/force-elision.h: Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c: + Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/pthread_mutex_lock.c: + Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/pthread_mutex_timedlock.c: + Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/pthread_mutex_trylock.c: + Likewise. + * nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h: + (__lll_timedlock_elision, __lll_lock_elision) + (__lll_unlock_elision, __lll_trylock_elision) + (lll_timedlock_elision, lll_lock_elision) + (lll_unlock_elision, lll_trylock_elision): Add. + * nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h + (pthread_mutex_t): Add lock elision support for s390. + 2014-05-09 Will Newton <will.newton@linaro.org> * sysdeps/arm/armv7/strcmp.S: New file. |