glibc/sysdeps/unix/sysv/linux/powerpc
Paul Murphy fadd2ad9cc powerpc: Optimize lock elision for pthread_mutex_t
With TLE enabled, the adapt count variable update incurs
an 8% overhead before entering the critical section of an
elided mutex.

Instead, if it is done right after leaving the critical
section, this serialization can be avoided.

This alters the existing behavior of __lll_trylock_elision
as it will only decrement the adapt_count if it successfully
acquires the lock.

	* sysdeps/unix/sysv/linux/powerpc/elision-lock.c
	(__lll_lock_elision): Remove adapt_count decrement...
	* sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
	(__lll_trylock_elision): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
	(__lll_unlock_elision): ... to here. And utilize
	new adapt_count parameter.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(__lll_unlock_elision): Update to include adapt_count
	parameter.
	(lll_unlock_elision): Pass pointer to adapt_count
	variable.
2015-10-15 18:56:10 -03:00
..
bits
powerpc32 Add INLINE_SYSCALL_ERROR_RETURN_VALUE 2015-10-13 11:59:15 -07:00
powerpc64 Add INLINE_SYSCALL_ERROR_RETURN_VALUE 2015-10-13 11:59:15 -07:00
sys
Implies
Makefile
Versions
arch-fork.h
configure
configure.ac
dl-brk.S
dl-cache.h
dl-static.c
dl-sysdep.c
elision-conf.c
elision-conf.h
elision-lock.c powerpc: Optimize lock elision for pthread_mutex_t 2015-10-15 18:56:10 -03:00
elision-timed.c
elision-trylock.c powerpc: Optimize lock elision for pthread_mutex_t 2015-10-15 18:56:10 -03:00
elision-unlock.c powerpc: Optimize lock elision for pthread_mutex_t 2015-10-15 18:56:10 -03:00
force-elision.h
get_clockfreq.c
get_timebase_freq.c
getdents64.c
getmsg.c
getrlimit64.c
gettimeofday.c
htm.h
init-first.c
ioctl.c
ipc_priv.h
kernel-features.h Call direct system calls for socket operations 2015-08-25 13:45:56 -03:00
kernel_termios.h
ldconfig.h
ldd-rewrite.sed
ldsodefs.h
libc-start.c
libc-vdso.h
lowlevellock.h powerpc: Optimize lock elision for pthread_mutex_t 2015-10-15 18:56:10 -03:00
nldbl-abi.h
oldgetrlimit64.c
profil-counter.h
pt-longjmp.c
pthread_attr_setstack.c
pthread_attr_setstacksize.c
pthread_mutex_cond_lock.c
pthread_mutex_lock.c
pthread_mutex_timedlock.c
pthread_mutex_trylock.c
pthread_spin_unlock.c
putmsg.c
readdir64.c
readdir64_r.c
readelflib.c
rt-sysdep.c
sigcontextinfo.h
syscall.S powerpc: Fix tabort usage in syscalls 2015-08-25 13:45:56 -03:00
syscalls.list
sysdep.c
test-gettimebasefreq.c
time.c