about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Murphy <murphyp@linux.vnet.ibm.com>2015-10-28 17:34:31 -0500
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2015-11-19 16:15:42 -0200
commit86b4939846caf2bb072bba6057e1dc3ad187c2c2 (patch)
tree0f22e932dca29d8ecaec7e4cab9befa08053c0d2 /ChangeLog
parent79adcb58f6ca687c61939bbe695ffc8c54558d5f (diff)
downloadglibc-86b4939846caf2bb072bba6057e1dc3ad187c2c2.tar.gz
glibc-86b4939846caf2bb072bba6057e1dc3ad187c2c2.tar.xz
glibc-86b4939846caf2bb072bba6057e1dc3ad187c2c2.zip
powerpc: More elision improvements
__lll_trylock_elision sets the adapt_count variable too
aggressively, and incorrectly on persistent aborts.  Taking
a cue from s390, adapt_count is only updated if the lock
is locked, or a persistent failure occurs.

In addition, the abort codes have been renumbered and
refactored for clarity.  As it stands, glibc only cares
if the abort is persistent or not.

All aborts are now persistent, excepting a busy lock.  This
includes changing _ABORT_NESTED_TRYLOCK into a persistent
abort.

	* sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
	(__lll_trylock_elision): Fix setting of adapt_count.
	* sysdeps/unix/sysv/linux/powerpc/htm.h
	(_ABORT_PERSISTENT): Define to clarify persistent aborts.
	(_ABORT_NESTED_TRYLOCK): Renumber, and make persistent.
	(_ABORT_SYSCALL): Renumber, and clarify definition.
	(_ABORT_LOCK_BUSY): Renumber, make non-persistent.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 12cfb98fac..a5440e2a74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2015-11-19  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
 
+	* sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
+	(__lll_trylock_elision): Fix setting of adapt_count.
+	* sysdeps/unix/sysv/linux/powerpc/htm.h
+	(_ABORT_PERSISTENT): Define to clarify persistent aborts.
+	(_ABORT_NESTED_TRYLOCK): Renumber, and make persistent.
+	(_ABORT_SYSCALL): Renumber, and clarify definition.
+	(_ABORT_LOCK_BUSY): Renumber, make non-persistent.
+
+2015-11-19  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
+
 	* sysdeps/ieee754/ldbl-128ibm/mpn2ldl.c: Include gmp headers
 	after system headers to prevent MIN/MAX redefinition.  Define
 	HAVE_ALLOCA to preserve builtin alloca usage.