aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2014-11-07 12:25:32 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2015-01-12 06:30:19 -0500
commit8d2c0a593bdefd220be0822fb70de6b8d3bfd39d (patch)
treef99ff4ee80aebb75309fad56b244535115d97288 /ChangeLog
parentec4fbd48009314515eb31daaff7c25393f29d62b (diff)
downloadglibc-8d2c0a593bdefd220be0822fb70de6b8d3bfd39d.tar
glibc-8d2c0a593bdefd220be0822fb70de6b8d3bfd39d.tar.gz
glibc-8d2c0a593bdefd220be0822fb70de6b8d3bfd39d.tar.bz2
glibc-8d2c0a593bdefd220be0822fb70de6b8d3bfd39d.zip
powerpc: Add the lock elision using HTM
This patch adds support for lock elision using ISA 2.07 hardware transactional memory instructions for pthread_mutex primitives. Similar to s390 version, the for elision logic defined in 'force-elision.h' is only enabled if ENABLE_LOCK_ELISION is defined. Also, the lock elision code should be able to be built even with a compiler that does not provide HTM support with builtins. However I have noted the performance is sub-optimal due scheduling pressures.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog30
1 files changed, 30 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e3809a6863..829c7ec74a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2014-01-12 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * sysdeps/unix/sysv/linux/powerpc/Makefile [nptl]
+ (sysdep_routines): Add lock elision objects.
+ * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+ [pthread_mutex_t] (__spins): Rework to add lock elision field.
+ [pthread_mutex_t] (__elision): Add field.
+ [__PTHREAD_SPINS]: Adjust to init lock elision field.
+ * sysdeps/unix/sysv/linux/powerpc/elision-conf.c: New file: lock
+ elision definitions for powerpc.
+ * sysdeps/unix/sysv/linux/powerpc/elision-lock.c: New file:
+ implementation of lock elision for powerpc.
+ * sysdeps/unix/sysv/linux/powerpc/elision-timed.c: New file:
+ implementation of timed lock elision for powerpc.
+ * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c: New file:
+ implementation of trylock with lock elision for powerpc.
+ * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c: New file:
+ implementaion of unlock for lock elision for powerpc.
+ * sysdeps/unix/sysv/linux/powerpc/force-elision.h: New file:
+ automatic enable lock elision for mutexes.
+ * sysdeps/unix/sysv/linux/powerpc/htm.h: New file: hardware
+ transaction execution definitions for powerpc.
+ * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file: add TLE
+ definitions.
+ * sysdeps/unix/sysv/linux/powerpc/pthread_mutex_cond_lock.c: New file.
+ * sysdeps/unix/sysv/linux/powerpc/pthread_mutex_lock.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/pthread_mutex_timedlock.c: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/pthread_mutex_trylock.c: Likewise.
+ * NEWS: Update.
+
2015-01-09 Roland McGrath <roland@hack.frob.com>
* sysdeps/posix/shm-directory.c: Use <> rather than ""