glibc/sysdeps
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
..
aarch64 Regenerate aarch64 libm-test-ulps 2015-09-24 14:22:31 +01:00
alpha Move bits/atomic.h to atomic-machine.h (bug 14912). 2015-09-11 20:00:19 +00:00
arm [BZ #19129][ARM] Fix _dl_tlsdesc_resolve_hold to save r0 2015-10-14 17:01:12 +01:00
generic Mark _dl_catch_error hidden 2015-10-15 14:13:50 -07:00
gnu Add more TCP_* values to netinet/tcp.h. 2015-09-01 13:45:49 +00:00
hppa Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
i386 Mark x86 _dl_unmap/_dl_make_tlsdesc_dynamic hidden 2015-10-15 13:48:54 -07:00
ia64 Move bits/atomic.h to atomic-machine.h (bug 14912). 2015-09-11 20:00:19 +00:00
ieee754 Fix lrint, llrint, lround, llround missing exceptions for MIPS (bug 16399). 2015-10-09 21:02:19 +00:00
init_array NPTL: Initializer for .init_array-only configurations. 2015-02-13 13:19:11 -08:00
m68k Use soft-fp fma for no-FPU ColdFire (bug 13304). 2015-09-25 17:30:56 +00:00
mach Add task_notify to mach_interface_list 2015-10-08 02:14:43 +02:00
microblaze Use soft-fp fma for MicroBlaze (bug 13304). 2015-09-25 17:29:19 +00:00
mips Regenerate MIPS libm-test-ulps. 2015-10-09 22:39:11 +00:00
nacl NaCl: Do not install <sys/mtio.h>. 2015-09-11 14:16:18 -07:00
nios2 Fixes extern protected data handling testcases elf/tst-protected1a 2015-07-26 05:27:18 -07:00
nptl Use __libc_ptf_call in _longjmp_unwind 2015-09-18 12:22:47 -07:00
posix To fix BZ #18675, use __fstatvfs64 in __fpathconf. 2015-09-09 18:41:25 -07:00
powerpc Fix powerpc32 lround, lroundf spurious exceptions (bug 19134). 2015-10-14 21:13:42 +00:00
pthread Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912). 2015-09-08 21:11:03 +00:00
s390 Move bits/atomic.h to atomic-machine.h (bug 14912). 2015-09-11 20:00:19 +00:00
sh Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
sparc Make scalbn set errno (bug 6803). 2015-09-16 21:11:00 +00:00
tile Don't use dbl-64/wordsize-64 lround based on llround for ILP32 (bug 19079). 2015-10-07 00:40:12 +00:00
unix powerpc: Optimize lock elision for pthread_mutex_t 2015-10-15 18:56:10 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86 Fix pow missing underflows (bug 18825). 2015-09-25 22:29:10 +00:00
x86_64 Mark x86 _dl_unmap/_dl_make_tlsdesc_dynamic hidden 2015-10-15 13:48:54 -07:00