summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 9fcab186c4..f2ca4307f1 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2006-02-17 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+ (lll_robust_mutex_unlock): Avoid unnecessary wakeups.
+ * sysdeps/unix/sysv/linux/i386/lowlevellock.h
+ (lll_robust_mutex_unlock): Likewise.
+
2006-02-13 Jakub Jelinek <jakub@redhat.com>
* descr.h [!__PTHREAD_MUTEX_HAVE_PREV] (DEQUEUE_MUTEX):
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
index f3b97143c4..afdba009a0 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
@@ -309,7 +309,7 @@ extern int __lll_mutex_unlock_wake (int *__futex)
".previous\n" \
"1:" \
: "=m" (futex), "=&a" (ignore) \
- : "i" (FUTEX_TID_MASK), "m" (futex) \
+ : "i" (FUTEX_WAITERS), "m" (futex) \
: "memory"); })
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
index f91ce9b8d9..95e6923d4d 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
@@ -275,7 +275,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
".previous\n" \
"2:" \
: "=m" (futex), "=&D" (ignore) \
- : "i" (FUTEX_TID_MASK), "m" (futex) \
+ : "i" (FUTEX_WAITERS), "m" (futex) \
: "ax", "cx", "r11", "cc", "memory"); })