From 86b4939846caf2bb072bba6057e1dc3ad187c2c2 Mon Sep 17 00:00:00 2001 From: Paul Murphy Date: Wed, 28 Oct 2015 17:34:31 -0500 Subject: 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. --- ChangeLog | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 12cfb98fac..a5440e2a74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2015-11-19 Paul E. Murphy + + * 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 * sysdeps/ieee754/ldbl-128ibm/mpn2ldl.c: Include gmp headers -- cgit 1.4.1