From: Ulrich Drepper Date: Fri, 17 Feb 2006 08:07:21 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h X-Git-Tag: cvs/fedora-glibc-20060217T1609~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=49bfc1fe3d7a2d4ad5ef670590441f202bf4f51c;p=platform%2Fupstream%2Fglibc.git * 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. --- diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 9fcab18..f2ca430 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2006-02-17 Ulrich Drepper + + * 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 * 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 f3b9714..afdba00 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 f91ce9b..95e6923 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 869bbed..2a84709 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 ab3896e..f198fa4 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 4c36467..8634496 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 9c66b2e..fbec1a0 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 052938a..580e938 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 94b59be..f248929 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 ff74c75..3c10334 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 4a7cc83..8de270f 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 f27f389..8803900 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. */