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.gz glibc-5a414ff70c3a45e52b5f5c0741bd459a84cf56b8.tar.xz 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
diff --git a/ChangeLog b/ChangeLog index cd9dec29c9..a64ca9f269 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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. |