summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0005-Remove-__ASSUME_REQUEUE_PI.patch
blob: 8d4ba41078e975460133fa892cd4d3536d102120 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
From 27b7131d3d8133bf3a5ce72d4e4ff4dfadd71f20 Mon Sep 17 00:00:00 2001
From: Catalin Enache <catalin.enache@windriver.com>
Date: Fri, 30 Jun 2017 12:08:29 +0300
Subject: [PATCH 5/6] Remove __ASSUME_REQUEUE_PI

The new cond var implementation (ed19993b5b0d) removed all the
__ASSUME_{REQUEUE_PI,FUTEX_LOCK_PI} internal usage so there is no
need to keep defining it.  This patch removes all USE_REQUEUE_PI
and __ASSUME_REQUEUE_PI.  It is as follow up from BZ#18463.

Checked with a build for x86_64-linux-gnu, arm-linux-gnueabhf,
m68-linux-gnu, mips64-linux-gnu, and sparc64-linux-gnu.

    * nptl/pthreadP.h (USE_REQUEUE_PI): Remove ununsed macro.
    * sysdeps/unix/sysv/linux/arm/kernel-features.h
    (__ASSUME_REQUEUE_PI): Likewise.
    * sysdeps/unix/sysv/linux/kernel-features.h
    (__ASSUME_REQUEUE_PI): Likewise.
    * sysdeps/unix/sysv/linux/m68k/kernel-features.h
    (__ASSUME_REQUEUE_PI): Likewise.
    * sysdeps/unix/sysv/linux/mips/kernel-features.h
    (__ASSUME_REQUEUE_PI): Likewise.
    * sysdeps/unix/sysv/linux/sparc/kernel-features.h
    (__ASSUME_REQUEUE_PI): Likewise.

Upstream-Status: Backport

Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
 ChangeLog                                       | 14 ++++++++++++++
 nptl/pthreadP.h                                 | 12 ------------
 sysdeps/unix/sysv/linux/arm/kernel-features.h   |  1 -
 sysdeps/unix/sysv/linux/kernel-features.h       |  5 -----
 sysdeps/unix/sysv/linux/m68k/kernel-features.h  |  1 -
 sysdeps/unix/sysv/linux/mips/kernel-features.h  |  1 -
 sysdeps/unix/sysv/linux/sparc/kernel-features.h |  1 -
 7 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c94db7b..44c518b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2017-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	* nptl/pthreadP.h (USE_REQUEUE_PI): Remove ununsed macro.
+	* sysdeps/unix/sysv/linux/arm/kernel-features.h
+	(__ASSUME_REQUEUE_PI): Likewise.
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_REQUEUE_PI): Likewise.
+	* sysdeps/unix/sysv/linux/m68k/kernel-features.h
+	(__ASSUME_REQUEUE_PI): Likewise.
+	* sysdeps/unix/sysv/linux/mips/kernel-features.h
+	(__ASSUME_REQUEUE_PI): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/kernel-features.h
+	(__ASSUME_REQUEUE_PI): Likewise.
+
 2016-12-31  Torvald Riegel  <triegel@redhat.com>
 
 	[BZ #13165]
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index e9992bc..730c4ad 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -594,18 +594,6 @@ extern void __wait_lookup_done (void) attribute_hidden;
 # define PTHREAD_STATIC_FN_REQUIRE(name) __asm (".globl " #name);
 #endif
 
-/* Test if the mutex is suitable for the FUTEX_WAIT_REQUEUE_PI operation.  */
-#if (defined lll_futex_wait_requeue_pi \
-     && defined __ASSUME_REQUEUE_PI)
-# define USE_REQUEUE_PI(mut) \
-   ((mut) && (mut) != (void *) ~0l \
-    && (((mut)->__data.__kind \
-	 & (PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NORMAL_NP)) \
-	== PTHREAD_MUTEX_PRIO_INHERIT_NP))
-#else
-# define USE_REQUEUE_PI(mut) 0
-#endif
-
 /* Returns 0 if POL is a valid scheduling policy.  */
 static inline int
 check_sched_policy_attr (int pol)
diff --git a/sysdeps/unix/sysv/linux/arm/kernel-features.h b/sysdeps/unix/sysv/linux/arm/kernel-features.h
index 6ca607e..339ad45 100644
--- a/sysdeps/unix/sysv/linux/arm/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/arm/kernel-features.h
@@ -23,7 +23,6 @@
    futex_atomic_cmpxchg_inatomic, depending on kernel
    configuration.  */
 #if __LINUX_KERNEL_VERSION < 0x030E03
-# undef __ASSUME_REQUEUE_PI
 # undef __ASSUME_SET_ROBUST_LIST
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 1d3b554..9f2cf9f 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -101,11 +101,6 @@
 #define __ASSUME_PREADV	1
 #define __ASSUME_PWRITEV	1
 
-/* Support for FUTEX_*_REQUEUE_PI was added in 2.6.31 (but some
-   architectures lack futex_atomic_cmpxchg_inatomic in some
-   configurations).  */
-#define __ASSUME_REQUEUE_PI	1
-
 /* Support for recvmmsg functionality was added in 2.6.33.  The macros
    defined correspond to those for accept4.  */
 #if __LINUX_KERNEL_VERSION >= 0x020621
diff --git a/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/sysdeps/unix/sysv/linux/m68k/kernel-features.h
index 46ec601..174c1c6 100644
--- a/sysdeps/unix/sysv/linux/m68k/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/m68k/kernel-features.h
@@ -51,6 +51,5 @@
 
 /* No support for PI futexes or robust mutexes before 3.10 for m68k.  */
 #if __LINUX_KERNEL_VERSION < 0x030a00
-# undef __ASSUME_REQUEUE_PI
 # undef __ASSUME_SET_ROBUST_LIST
 #endif
diff --git a/sysdeps/unix/sysv/linux/mips/kernel-features.h b/sysdeps/unix/sysv/linux/mips/kernel-features.h
index b486d90..a795911c 100644
--- a/sysdeps/unix/sysv/linux/mips/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/mips/kernel-features.h
@@ -24,7 +24,6 @@
 /* The MIPS kernel does not support futex_atomic_cmpxchg_inatomic if
    emulating LL/SC.  */
 #if __mips == 1 || defined _MIPS_ARCH_R5900
-# undef __ASSUME_REQUEUE_PI
 # undef __ASSUME_SET_ROBUST_LIST
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/sparc/kernel-features.h b/sysdeps/unix/sysv/linux/sparc/kernel-features.h
index 69c9c7c..dd3ddf0 100644
--- a/sysdeps/unix/sysv/linux/sparc/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/sparc/kernel-features.h
@@ -34,6 +34,5 @@
 /* 32-bit SPARC kernels do not support
    futex_atomic_cmpxchg_inatomic.  */
 #if !defined __arch64__ && !defined __sparc_v9__
-# undef __ASSUME_REQUEUE_PI
 # undef __ASSUME_SET_ROBUST_LIST
 #endif
-- 
2.10.2