aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-02-17 08:07:21 +0000
committerUlrich Drepper <drepper@redhat.com>2006-02-17 08:07:21 +0000
commit49bfc1fe3d7a2d4ad5ef670590441f202bf4f51c (patch)
treef55426445cf8010688e2b79e2864559416d54570
parent* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Define MADV_DONTFORK (diff)
downloadglibc-49bfc1fe3d7a2d4ad5ef670590441f202bf4f51c.tar.gz
glibc-49bfc1fe3d7a2d4ad5ef670590441f202bf4f51c.tar.bz2
glibc-49bfc1fe3d7a2d4ad5ef670590441f202bf4f51c.zip
* 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.
-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
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/i386/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/sh/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/mman.h4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/mman.h4
12 files changed, 27 insertions, 20 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"); })
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/sysdeps/unix/sysv/linux/alpha/bits/mman.h
index 869bbede3f..2a84709d20 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/mman.h
@@ -97,8 +97,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 6 /* Don't need these pages. */
# define MADV_REMOVE 7 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/i386/bits/mman.h b/sysdeps/unix/sysv/linux/i386/bits/mman.h
index ab3896e8a5..f198fa4b91 100644
--- a/sysdeps/unix/sysv/linux/i386/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/i386/bits/mman.h
@@ -89,8 +89,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_REMOVE 5 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/mman.h b/sysdeps/unix/sysv/linux/ia64/bits/mman.h
index 4c36467661..86344962af 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/mman.h
@@ -90,8 +90,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_REMOVE 5 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/m68k/bits/mman.h b/sysdeps/unix/sysv/linux/m68k/bits/mman.h
index 9c66b2e97c..fbec1a03f8 100644
--- a/sysdeps/unix/sysv/linux/m68k/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/m68k/bits/mman.h
@@ -88,8 +88,8 @@
# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
index 052938a0d5..580e93886f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/mman.h
@@ -90,8 +90,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_REMOVE 5 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/s390/bits/mman.h b/sysdeps/unix/sysv/linux/s390/bits/mman.h
index 94b59be147..f248929824 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/mman.h
@@ -90,8 +90,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_REMOVE 5 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/sh/bits/mman.h b/sysdeps/unix/sysv/linux/sh/bits/mman.h
index ff74c75e14..3c10334a4b 100644
--- a/sysdeps/unix/sysv/linux/sh/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/sh/bits/mman.h
@@ -89,8 +89,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_REMOVE 5 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/mman.h b/sysdeps/unix/sysv/linux/sparc/bits/mman.h
index 4a7cc83990..8de270f932 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/mman.h
@@ -92,8 +92,8 @@
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_FREE 5 /* Content can be freed (Solaris). */
# define MADV_REMOVE 6 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/mman.h b/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
index f27f3893b3..8803900552 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
@@ -90,8 +90,8 @@
# define MADV_WILLNEED 3 /* Will need these pages. */
# define MADV_DONTNEED 4 /* Don't need these pages. */
# define MADV_REMOVE 5 /* Remove these pages and resources. */
-# define MADV_DONTFORK 0x30 /* Do not inherit across fork. */
-# define MADV_DOFORK 0x31 /* Do inherit across fork. */
+# define MADV_DONTFORK 10 /* Do not inherit across fork. */
+# define MADV_DOFORK 11 /* Do inherit across fork. */
#endif
/* The POSIX people had to invent similar names for the same things. */