[review] nptl: Remove rwlock elision definitions

Message ID gerrit.1573136666000.I5dec8af50e3cd56d7351c52ceff4aa3771b53cd6@gnutoolchain-gerrit.osci.io
State Superseded
Headers

Commit Message

Simon Marchi (Code Review) Nov. 7, 2019, 2:24 p.m. UTC
  Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/517
......................................................................

nptl: Remove rwlock elision definitions

The new rwlock implementation added by cc25c8b4c1196 (2.25) removed
support for lock-elision.  This patch removes remaining the
arch-specific unused definitions.

Checked with a build against all affected ABIs.

Change-Id: I5dec8af50e3cd56d7351c52ceff4aa3771b53cd6
---
M sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
M sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
M sysdeps/arm/nptl/bits/pthreadtypes-arch.h
M sysdeps/csky/nptl/bits/pthreadtypes-arch.h
M sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
M sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
M sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
M sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
M sysdeps/mips/nptl/bits/pthreadtypes-arch.h
M sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
M sysdeps/nptl/pthread.h
M sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
M sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
M sysdeps/s390/nptl/bits/pthreadtypes-arch.h
M sysdeps/sh/nptl/bits/pthreadtypes-arch.h
M sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
M sysdeps/x86/nptl/bits/pthreadtypes-arch.h
17 files changed, 7 insertions(+), 46 deletions(-)
  

Comments

Simon Marchi (Code Review) Nov. 7, 2019, 8:47 p.m. UTC | #1
Florian Weimer has posted comments on this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/glibc/+/517
......................................................................


Patch Set 1: Code-Review+2

This looks good.  If we bring this back, __PTHREAD_RWLOCK_ELISION_EXTRA should perhaps be defined in its own sysdeps-overridable header.
  

Patch

diff --git a/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h b/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
index 758b127..61c02e7 100644
--- a/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
@@ -66,6 +66,4 @@ 
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h b/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
index c5e252f..f5b7d19 100644
--- a/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
@@ -56,6 +56,4 @@ 
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
index 78b37eb..a2c550f 100644
--- a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
@@ -66,6 +66,4 @@ 
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
index 58be51d..c1656ae 100644
--- a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
@@ -65,6 +65,4 @@ 
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif
diff --git a/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h b/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
index 13b8223..7c97b89 100644
--- a/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
@@ -86,6 +86,4 @@ 
   int __reserved4;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
index e0c1374..8eb1bd5 100644
--- a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
@@ -58,6 +58,4 @@ 
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h b/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
index 792cb32..cefce56 100644
--- a/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
@@ -58,6 +58,4 @@ 
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
index 7cf1ff6..00b50df 100644
--- a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
@@ -67,6 +67,4 @@ 
   int __cur_writer;
 };
 
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h.  */
diff --git a/sysdeps/mips/nptl/bits/pthreadtypes-arch.h b/sysdeps/mips/nptl/bits/pthreadtypes-arch.h
index 0bb7035..629cd72 100644
--- a/sysdeps/mips/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/mips/nptl/bits/pthreadtypes-arch.h
@@ -84,6 +84,4 @@ 
 #endif
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
index dcd3499..bba904b 100644
--- a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
@@ -67,6 +67,4 @@ 
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h
index a4ff323..f2b21ac 100644
--- a/sysdeps/nptl/pthread.h
+++ b/sysdeps/nptl/pthread.h
@@ -131,17 +131,17 @@ 
 
 /* Read-write lock initializers.  */
 # define PTHREAD_RWLOCK_INITIALIZER \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
 # ifdef __USE_GNU
 #  ifdef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
 #   define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0,					      \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,					      \
 	PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
 #  else
 #   if __BYTE_ORDER == __LITTLE_ENDIAN
 #    define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
   { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, \
-      0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
+      0, 0, 0, 0 } }
 #   else
 #    define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,\
diff --git a/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h b/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
index 4ad33d8..9810aab 100644
--- a/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
@@ -59,22 +59,19 @@ 
 #if __WORDSIZE == 64
   int __cur_writer;
   int __shared;
-  unsigned char __rwelision;
-  unsigned char __pad1[7];
+  unsigned long int __pad1;
   unsigned long int __pad2;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
   unsigned int __flags;
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
 #else
-  unsigned char __rwelision;
+  unsigned char __pad1;
   unsigned char __pad2;
   unsigned char __shared;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
   unsigned char __flags;
   int __cur_writer;
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
 #endif
 };
 
diff --git a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
index 33f0ee4..77b60bf 100644
--- a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
@@ -63,6 +63,4 @@ 
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 		0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/s390/nptl/bits/pthreadtypes-arch.h b/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
index 28754b7..1cb1d72 100644
--- a/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
@@ -74,6 +74,4 @@ 
 #endif
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
index 219a861..e7bbfe1 100644
--- a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
@@ -66,6 +66,4 @@ 
   unsigned long int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h b/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
index c5c0563..47093a5 100644
--- a/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
@@ -76,6 +76,4 @@ 
 #endif
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/x86/nptl/bits/pthreadtypes-arch.h b/sysdeps/x86/nptl/bits/pthreadtypes-arch.h
index 97361b0..1f05ca0 100644
--- a/sysdeps/x86/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/x86/nptl/bits/pthreadtypes-arch.h
@@ -73,14 +73,7 @@ 
 #ifdef __x86_64__
   int __cur_writer;
   int __shared;
-  signed char __rwelision;
-# ifdef  __ILP32__
-  unsigned char __pad1[3];
-#  define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
-# else
-  unsigned char __pad1[7];
-#  define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
-# endif
+  unsigned long int __pad1;
   unsigned long int __pad2;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
@@ -91,8 +84,7 @@ 
      binary compatibility.  */
   unsigned char __flags;
   unsigned char __shared;
-  signed char __rwelision;
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
+  unsigned char __pad1;
   unsigned char __pad2;
   int __cur_writer;
 #endif