]> git.ipfire.org Git - thirdparty/glibc.git/commit
powerpc: Add the lock elision using HTM
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Fri, 7 Nov 2014 17:25:32 +0000 (12:25 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 20 Jan 2015 18:23:33 +0000 (13:23 -0500)
commit1d45200a803939be3316b7ddf442906d544e9d43
tree9632f7ec10162e3b1265c57b22308bc8a9cff0bc
parent6831ddb38379c1924bd19b3203d161a4c3ed1e2e
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.

Conflicts:
ChangeLog
NEWS
sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
17 files changed:
ChangeLog
NEWS
sysdeps/unix/sysv/linux/powerpc/Makefile
sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
sysdeps/unix/sysv/linux/powerpc/elision-conf.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/elision-conf.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/elision-lock.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/elision-timed.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/elision-trylock.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/elision-unlock.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/force-elision.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/htm.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
sysdeps/unix/sysv/linux/powerpc/pthread_mutex_cond_lock.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/pthread_mutex_lock.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/pthread_mutex_timedlock.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/pthread_mutex_trylock.c [new file with mode: 0644]