aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/kernel-features.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-04-03 17:23:13 +0000
committerUlrich Drepper <drepper@redhat.com>2009-04-03 17:23:13 +0000
commit2dbe6afe7c13af9790f2d37d3be3c8fa3262bd27 (patch)
tree6080f12475eef12e39f1df2cfd6be163fa5c82db /sysdeps/unix/sysv/linux/kernel-features.h
parenta065c0076a1b76b9eb375ae051176e9bf518816a (diff)
downloadglibc-2dbe6afe7c13af9790f2d37d3be3c8fa3262bd27.tar
glibc-2dbe6afe7c13af9790f2d37d3be3c8fa3262bd27.tar.gz
glibc-2dbe6afe7c13af9790f2d37d3be3c8fa3262bd27.tar.bz2
glibc-2dbe6afe7c13af9790f2d37d3be3c8fa3262bd27.zip
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_COMPLETE_READV_WRITEV. * sysdeps/unix/sysv/linux/readv.c: No need for userlevel fallback with modern kernels. * sysdeps/unix/sysv/linux/writev.c: Likewise. * sysdeps/posix/readv.c: Since read is a cancellation point we have to free a possible malloced buffer in case of cancellation. * sysdeps/posix/writev.c: Likewise for write. c2009-04-01 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/kernel-features.h')
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 29afe27711..9053df1789 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -462,6 +462,13 @@
# 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. */
+#if __LINUX_KERNEL_VERSION >= 0x020612
+# define __ASSUME_COMPLETE_READV_WRITEV 1
+#endif
+
/* Support for PI futexes was added in 2.6.18. */
#if __LINUX_KERNEL_VERSION >= 0x020612
# define __ASSUME_FUTEX_LOCK_PI 1