[1/4] libio: Assume _IO_lock_inexpensive

Message ID 20210527204457.1250196-2-adhemerval.zanella@linaro.org
State New
Headers show
Series
  • Move libio lock single-thread optimization to generic libc-lock
Related show

Commit Message

Florian Weimer via Libc-alpha May 27, 2021, 8:44 p.m.
It is already set by both Linux and Hurd.
---
 libio/libio.h             | 11 ++---------
 sysdeps/mach/libc-lock.h  |  3 ---
 sysdeps/nptl/stdio-lock.h |  3 ---
 3 files changed, 2 insertions(+), 15 deletions(-)

-- 
2.30.2

Comments

Florian Weimer via Libc-alpha May 30, 2021, 1:11 p.m. | #1
* Adhemerval Zanella via Libc-alpha:

> It is already set by both Linux and Hurd.


Looks okay to me, thanks.

Florian

Patch

diff --git a/libio/libio.h b/libio/libio.h
index 511b39457f..be2cde61e2 100644
--- a/libio/libio.h
+++ b/libio/libio.h
@@ -282,17 +282,10 @@  libc_hidden_proto (_IO_sgetn)
 # undef _IO_ftrylockfile
 
 # define _IO_peekc(_fp) _IO_peekc_locked (_fp)
-# if _IO_lock_inexpensive
-#  define _IO_flockfile(_fp) \
+# define _IO_flockfile(_fp) \
   if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_lock_lock (*(_fp)->_lock)
-#  define _IO_funlockfile(_fp) \
+# define _IO_funlockfile(_fp) \
   if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_lock_unlock (*(_fp)->_lock)
-# else
-#  define _IO_flockfile(_fp) \
-  if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_flockfile (_fp)
-#  define _IO_funlockfile(_fp) \
-  if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_funlockfile (_fp)
-# endif
 #endif /* _IO_MTSAFE_IO */
 
 #endif /* _LIBIO_H */
diff --git a/sysdeps/mach/libc-lock.h b/sysdeps/mach/libc-lock.h
index d713f34b5f..220fcee921 100644
--- a/sysdeps/mach/libc-lock.h
+++ b/sysdeps/mach/libc-lock.h
@@ -24,9 +24,6 @@ 
 #include <tls.h>
 #include <lowlevellock.h>
 
-/* The locking here is very inexpensive, even for inlining.  */
-#define _IO_lock_inexpensive   1
-
 typedef unsigned int __libc_lock_t;
 typedef struct
 {
diff --git a/sysdeps/nptl/stdio-lock.h b/sysdeps/nptl/stdio-lock.h
index f2eee49816..a4f419b516 100644
--- a/sysdeps/nptl/stdio-lock.h
+++ b/sysdeps/nptl/stdio-lock.h
@@ -23,9 +23,6 @@ 
 #include <lowlevellock.h>
 
 
-/* The locking here is very inexpensive, even for inlining.  */
-#define _IO_lock_inexpensive	1
-
 typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
 #define _IO_lock_t_defined 1