From 2dbe6afe7c13af9790f2d37d3be3c8fa3262bd27 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 3 Apr 2009 17:23:13 +0000 Subject: * 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 --- sysdeps/unix/sysv/linux/kernel-features.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sysdeps/unix/sysv/linux/kernel-features.h') diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 29afe27..9053df1 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 -- cgit v1.1