about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/nptl/lowlevellock.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index dd0a0b519f..e4885cf260 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-02-06  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+	* sysdeps/nptl/lowlevellock.h (lll_trylock, lll_cond_trylock):
+	Add __glibc_unlikely hint.
+
 2017-02-06  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	[BZ #16640]
diff --git a/sysdeps/nptl/lowlevellock.h b/sysdeps/nptl/lowlevellock.h
index 42d9658d9d..54e3c28b0b 100644
--- a/sysdeps/nptl/lowlevellock.h
+++ b/sysdeps/nptl/lowlevellock.h
@@ -64,13 +64,13 @@
    0.  Otherwise leave lock unchanged and return non-zero to indicate that the
    lock was not acquired.  */
 #define lll_trylock(lock)	\
-  atomic_compare_and_exchange_bool_acq (&(lock), 1, 0)
+  __glibc_unlikely (atomic_compare_and_exchange_bool_acq (&(lock), 1, 0))
 
 /* If LOCK is 0 (not acquired), set to 2 (acquired, possibly with waiters) and
    return 0.  Otherwise leave lock unchanged and return non-zero to indicate
    that the lock was not acquired.  */
 #define lll_cond_trylock(lock)	\
-  atomic_compare_and_exchange_bool_acq (&(lock), 2, 0)
+  __glibc_unlikely (atomic_compare_and_exchange_bool_acq (&(lock), 2, 0))
 
 extern void __lll_lock_wait_private (int *futex) attribute_hidden;
 extern void __lll_lock_wait (int *futex, int private) attribute_hidden;