]> git.ipfire.org Git - thirdparty/glibc.git/commit - sysdeps/unix/sysv/linux/powerpc/elision-timed.c
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>
Mon, 12 Jan 2015 11:30:19 +0000 (06:30 -0500)
commit8d2c0a593bdefd220be0822fb70de6b8d3bfd39d
treef99ff4ee80aebb75309fad56b244535115d97288
parentec4fbd48009314515eb31daaff7c25393f29d62b
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.
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 [new file with mode: 0644]
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]