about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc
diff options
context:
space:
mode:
authorRajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>2015-08-25 10:23:47 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2015-08-25 13:45:56 -0300
commitf4491417cc80b4a01e72e9d218af137765ee5918 (patch)
tree16c8e1335b1d098af8e16b116fef182c1cf9af2d /sysdeps/unix/sysv/linux/powerpc
parent18173559a23e28055640b152e623d9f0d40ecca8 (diff)
downloadglibc-f4491417cc80b4a01e72e9d218af137765ee5918.tar.gz
glibc-f4491417cc80b4a01e72e9d218af137765ee5918.tar.xz
glibc-f4491417cc80b4a01e72e9d218af137765ee5918.zip
Call direct system calls for socket operations
Explicit system calls for the socket operations were added in Linux kernel
in commit 86250b9d12ca for powerpc. This patch make use of those instead of
calling socketcall to save number of cycles on networking syscalls.

2015-08-25  Rajalakshmi Srinivasaraghavan  <raji@linux.vnet.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/kernel-features.h: Define new macros.
	* sysdeps/unix/sysv/linux/accept.c: Call direct system call.
	* sysdeps/unix/sysv/linux/bind.c: Call direct system call.
	* sysdeps/unix/sysv/linux/connect.c: Call direct system call.
	* sysdeps/unix/sysv/linux/getpeername.c: Call direct system call.
	* sysdeps/unix/sysv/linux/getsockname.c: Call direct system call.
	* sysdeps/unix/sysv/linux/getsockopt.c: Call direct system call.
	* sysdeps/unix/sysv/linux/listen.c: Call direct system call.
	* sysdeps/unix/sysv/linux/recv.c: Call direct system call.
	* sysdeps/unix/sysv/linux/recvfrom.c: Call direct system call.
	* sysdeps/unix/sysv/linux/recvmsg.c: Call direct system call.
	* sysdeps/unix/sysv/linux/send.c: Call direct system call.
	* sysdeps/unix/sysv/linux/sendmsg.c: Call direct system call.
	* sysdeps/unix/sysv/linux/sendto.c: Call direct system call.
	* sysdeps/unix/sysv/linux/setsockopt.c: Call direct system call.
	* sysdeps/unix/sysv/linux/shutdown.c: Call direct system call.
	* sysdeps/unix/sysv/linux/socket.c: Call direct system call.
	* sysdeps/unix/sysv/linux/socketpair.c: Call direct system call.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/kernel-features.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel-features.h b/sysdeps/unix/sysv/linux/powerpc/kernel-features.h
index 7201cb4f66..8a536cfa1e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/powerpc/kernel-features.h
@@ -30,6 +30,27 @@
 # define __ASSUME_RECVMMSG_SYSCALL	1
 #endif
 
+/* New syscalls added for PowerPC in 2.6.37.  */
+#if __LINUX_KERNEL_VERSION >= 0x020625
+# define __ASSUME_SOCKET_SYSCALL	1
+# define __ASSUME_BIND_SYSCALL		1
+# define __ASSUME_CONNECT_SYSCALL	1
+# define __ASSUME_LISTEN_SYSCALL	1
+# define __ASSUME_ACCEPT_SYSCALL	1
+# define __ASSUME_GETSOCKNAME_SYSCALL	1
+# define __ASSUME_GETPEERNAME_SYSCALL	1
+# define __ASSUME_SOCKETPAIR_SYSCALL	1
+# define __ASSUME_SEND_SYSCALL		1
+# define __ASSUME_SENDTO_SYSCALL	1
+# define __ASSUME_RECV_SYSCALL		1
+# define __ASSUME_RECVFROM_SYSCALL	1
+# define __ASSUME_SHUTDOWN_SYSCALL	1
+# define __ASSUME_GETSOCKOPT_SYSCALL	1
+# define __ASSUME_SETSOCKOPT_SYSCALL	1
+# define __ASSUME_SENDMSG_SYSCALL	1
+# define __ASSUME_RECVMSG_SYSCALL	1
+#endif
+
 /* The sendmmsg syscall was added for PowerPC in 3.0.  */
 #if __LINUX_KERNEL_VERSION >= 0x030000
 # define __ASSUME_SENDMMSG_SYSCALL	1