]> sourceware.org Git - glibc.git/commitdiff
nptl: Add adapt_count parameter to lll_unlock_elision
authorPaul Murphy <murphyp@linux.vnet.ibm.com>
Thu, 3 Sep 2015 18:40:11 +0000 (13:40 -0500)
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Thu, 15 Oct 2015 21:55:48 +0000 (18:55 -0300)
Adding this parameter will give architectures more freedom in
how they choose to update this variable.  This change has no
effect on architectures which choose not to use it.

* nptl/pthread_mutex_unlock.c(lll_unlock_elision):
Add elision adapt_count parameter to list of arguments.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
(lll_unlock_elision): Update with new parameter list
* sysdeps/unix/sysv/linux/s390/lowlevellock.h
(lll_unlock_elision): Likewise
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
(lll_unlock_elision): Likewise

ChangeLog
nptl/pthread_mutex_unlock.c
sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
sysdeps/unix/sysv/linux/s390/lowlevellock.h
sysdeps/unix/sysv/linux/x86_64/lowlevellock.h

index 0261e66b16b12bbe91ca8e612983e5a030e7049d..6a743e454b75fcecc2a3e4e669621a11fc0736ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2015-10-15  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
+
+       * nptl/pthread_mutex_unlock.c (lll_unlock_elision):
+       Add elision adapt_count parameter to list of arguments.
+       * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
+       (lll_unlock_elision): Update with new parameter list
+       * sysdeps/unix/sysv/linux/s390/lowlevellock.h
+       (lll_unlock_elision): Likewise
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+       (lll_unlock_elision): Likewise
+
 2015-10-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #19122]
index 80939ba8b09a0ec9f13a7e4356e70f359cf0c26f..9e864c183275786395e83f00b3f6f7ceab169c10 100644 (file)
@@ -24,7 +24,7 @@
 #include <stap-probe.h>
 
 #ifndef lll_unlock_elision
-#define lll_unlock_elision(a,b) ({ lll_unlock (a,b); 0; })
+#define lll_unlock_elision(a,b,c) ({ lll_unlock (a,c); 0; })
 #endif
 
 static int
@@ -63,7 +63,7 @@ __pthread_mutex_unlock_usercnt (mutex, decr)
   else if (__glibc_likely (type == PTHREAD_MUTEX_TIMED_ELISION_NP))
     {
       /* Don't reset the owner/users fields for elision.  */
-      return lll_unlock_elision (mutex->__data.__lock,
+      return lll_unlock_elision (mutex->__data.__lock, mutex->__data.__elision,
                                      PTHREAD_MUTEX_PSHARED (mutex));
     }
   else if (__builtin_expect (PTHREAD_MUTEX_TYPE (mutex)
index 67db1dece25566190bf9ca2bbc31b58dfd15f51f..16479e77530f3a3de03ca44df68e619822b6d06e 100644 (file)
@@ -40,7 +40,7 @@ extern int __lll_trylock_elision(int *lock, short *adapt_count)
 
 #define lll_lock_elision(futex, adapt_count, private) \
   __lll_lock_elision (&(futex), &(adapt_count), private)
-#define lll_unlock_elision(futex, private) \
+#define lll_unlock_elision(futex, adapt_count, private) \
   __lll_unlock_elision (&(futex), private)
 #define lll_trylock_elision(futex, adapt_count) \
   __lll_trylock_elision (&(futex), &(adapt_count))
index 163a731bd34b96bf8d90ccc09f114670a3615d4d..cab5f4c7a3b8f0e58aec3cd90f3a1ada423a11cb 100644 (file)
@@ -41,7 +41,7 @@ extern int __lll_trylock_elision(int *futex, short *adapt_count)
 
 #  define lll_lock_elision(futex, adapt_count, private) \
   __lll_lock_elision (&(futex), &(adapt_count), private)
-#  define lll_unlock_elision(futex, private) \
+#  define lll_unlock_elision(futex, adapt_count, private) \
   __lll_unlock_elision (&(futex), private)
 #  define lll_trylock_elision(futex, adapt_count) \
   __lll_trylock_elision(&(futex), &(adapt_count))
index de525cd4c76595624b5095ef0758bc6d77df9023..1fbd31e1faf77c338d04a8f1eccd5e694c6fc15d 100644 (file)
@@ -342,7 +342,7 @@ extern int __lll_trylock_elision (int *lock, short *adapt_count)
 
 #define lll_lock_elision(futex, adapt_count, private) \
   __lll_lock_elision (&(futex), &(adapt_count), private)
-#define lll_unlock_elision(futex, private) \
+#define lll_unlock_elision(futex, adapt_count, private) \
   __lll_unlock_elision (&(futex), private)
 #define lll_trylock_elision(futex, adapt_count) \
   __lll_trylock_elision (&(futex), &(adapt_count))
This page took 0.104191 seconds and 5 git commands to generate.