This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.19-672-g0f5b718


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  0f5b71850e7ae2a4fefade72c73556166d52bc93 (commit)
      from  c7aec4beb13f125948884d80158f11c34239c61f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0f5b71850e7ae2a4fefade72c73556166d52bc93

commit 0f5b71850e7ae2a4fefade72c73556166d52bc93
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 25 11:31:51 2014 +0000

    Remove __ASSUME_COMPLETE_READV_WRITEV.
    
    This patch removes the __ASSUME_COMPLETE_READV_WRITEV
    kernel-features.h macro, now that it can be unconditionally assumed to
    be true.  (The relevant kernel feature was added some time between 2.0
    and 2.2, and this macro is only used in sysdeps/unix/sysv/linux/.)
    
    Tested x86_64 that the disassembly of installed shared libraries is
    unchanged by this patch.
    
    	* sysdeps/unix/sysv/linux/kernel-features.h
    	(__ASSUME_COMPLETE_READV_WRITEV): Remove macro.
    	* sysdeps/unix/sysv/linux/readv.c: Do not include
    	<kernel-features.h>.
    	[!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code.
    	[!UIO_FASTIOV] (UIO_FASTIOV): Remove macro.
    	(__libc_readv) [__ASSUME_COMPLETE_READV_WRITEV]: Make code
    	unconditional.
    	(__libc_readv) [!__ASSUME_COMPLETE_READV_WRITEV]: Remove
    	conditional code.
    	* sysdeps/unix/sysv/linux/writev.c: Do not include
    	<kernel-features.h>.
    	[!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code.
    	[!UIO_FASTIOV] (UIO_FASTIOV): Remove macro.
    	(__libc_writev) [__ASSUME_COMPLETE_READV_WRITEV]: Make code
    	unconditional.
    	(__libc_writev) [!__ASSUME_COMPLETE_READV_WRITEV]: Remove
    	conditional code.

diff --git a/ChangeLog b/ChangeLog
index ad4ece6..60a665d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2014-06-25  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_COMPLETE_READV_WRITEV): Remove macro.
+	* sysdeps/unix/sysv/linux/readv.c: Do not include
+	<kernel-features.h>.
+	[!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code.
+	[!UIO_FASTIOV] (UIO_FASTIOV): Remove macro.
+	(__libc_readv) [__ASSUME_COMPLETE_READV_WRITEV]: Make code
+	unconditional.
+	(__libc_readv) [!__ASSUME_COMPLETE_READV_WRITEV]: Remove
+	conditional code.
+	* sysdeps/unix/sysv/linux/writev.c: Do not include
+	<kernel-features.h>.
+	[!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code.
+	[!UIO_FASTIOV] (UIO_FASTIOV): Remove macro.
+	(__libc_writev) [__ASSUME_COMPLETE_READV_WRITEV]: Make code
+	unconditional.
+	(__libc_writev) [!__ASSUME_COMPLETE_READV_WRITEV]: Remove
+	conditional code.
+
 2014-06-25  Will Newton  <will.newton@linaro.org>
 
 	* sysdeps/posix/tempname.c: Merge from gnulib, cosmetic
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index b39b295..015b1c7 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -94,11 +94,6 @@
 # define __ASSUME_SET_ROBUST_LIST	1
 #endif
 
-/* Pessimistically assume that 2.6.18 introduced real handling of
-   large numbers of requests to readv and writev and that we don't
-   need a fallback.  It likely worked for much longer.  */
-#define __ASSUME_COMPLETE_READV_WRITEV	1
-
 /* Support for PI futexes was added in 2.6.18 (but some architectures
    lack futex_atomic_cmpxchg_inatomic in some configurations).  */
 #if !(defined __sparc__ && !defined __arch64__ && !defined __sparc_v9__)
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
index 48eae46..a977d17 100644
--- a/sysdeps/unix/sysv/linux/readv.c
+++ b/sysdeps/unix/sysv/linux/readv.c
@@ -23,19 +23,8 @@
 
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
-#include <kernel-features.h>
-
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-static ssize_t __atomic_readv_replacement (int, const struct iovec *,
-					   int) internal_function;
-#endif
-
-
-/* Not all versions of the kernel support the large number of records.  */
-#ifndef UIO_FASTIOV
-# define UIO_FASTIOV	8	/* 8 is a safe number.  */
-#endif
 
+/* Consider moving to syscalls.list.  */
 
 ssize_t
 __libc_readv (fd, vector, count)
@@ -56,19 +45,7 @@ __libc_readv (fd, vector, count)
       LIBC_CANCEL_RESET (oldtype);
     }
 
-#ifdef __ASSUME_COMPLETE_READV_WRITEV
   return result;
-#else
-  if (result >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
-    return result;
-
-  return __atomic_readv_replacement (fd, vector, count);
-#endif
 }
 strong_alias (__libc_readv, __readv)
 weak_alias (__libc_readv, readv)
-
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-# define __libc_readv static internal_function __atomic_readv_replacement
-# include <sysdeps/posix/readv.c>
-#endif
diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c
index 06c4c9c..f19221f 100644
--- a/sysdeps/unix/sysv/linux/writev.c
+++ b/sysdeps/unix/sysv/linux/writev.c
@@ -23,19 +23,9 @@
 
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
-#include <kernel-features.h>
 
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-static ssize_t __atomic_writev_replacement (int, const struct iovec *,
-					    int) internal_function;
-#endif
-
-
-/* Not all versions of the kernel support the large number of records.  */
-#ifndef UIO_FASTIOV
-# define UIO_FASTIOV	8	/* 8 is a safe number.  */
-#endif
 
+/* Consider moving to syscalls.list.  */
 
 ssize_t
 __libc_writev (fd, vector, count)
@@ -56,19 +46,7 @@ __libc_writev (fd, vector, count)
       LIBC_CANCEL_RESET (oldtype);
     }
 
-#ifdef __ASSUME_COMPLETE_READV_WRITEV
   return result;
-#else
-  if (result >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
-    return result;
-
-  return __atomic_writev_replacement (fd, vector, count);
-#endif
 }
 strong_alias (__libc_writev, __writev)
 weak_alias (__libc_writev, writev)
-
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-# define __libc_writev static internal_function __atomic_writev_replacement
-# include <sysdeps/posix/writev.c>
-#endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |   21 +++++++++++++++++++++
 sysdeps/unix/sysv/linux/kernel-features.h |    5 -----
 sysdeps/unix/sysv/linux/readv.c           |   25 +------------------------
 sysdeps/unix/sysv/linux/writev.c          |   24 +-----------------------
 4 files changed, 23 insertions(+), 52 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]