From c9bb1f4cc8ba706fb8253ffe57b997532b99767e Mon Sep 17 00:00:00 2001 From: Martin Pieuchot Date: Wed, 20 Jun 2018 10:52:50 +0000 Subject: Unlock sendmsg(2) and sendto(2). These syscalls can now be executed w/o the KERNEL_LOCK() depending on the kind of socket. The current solution uses a single global mutex to serialize access to, and reference count, 'struct file'. ok visa@, kettenis@ --- sys/kern/syscalls.master | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/kern/syscalls.master') diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index 8578e3e276e..96fb61be7f3 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -1,4 +1,4 @@ -; $OpenBSD: syscalls.master,v 1.181 2018/05/28 09:17:11 mpi Exp $ +; $OpenBSD: syscalls.master,v 1.182 2018/06/20 10:52:49 mpi Exp $ ; $NetBSD: syscalls.master,v 1.32 1996/04/23 10:24:21 mycroft Exp $ ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 @@ -90,7 +90,7 @@ #endif 27 STD { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ int flags); } -28 STD { ssize_t sys_sendmsg(int s, \ +28 STD NOLOCK { ssize_t sys_sendmsg(int s, \ const struct msghdr *msg, int flags); } 29 STD { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ int flags, struct sockaddr *from, \ @@ -261,7 +261,7 @@ 130 OBSOL oftruncate 131 STD { int sys_flock(int fd, int how); } 132 STD { int sys_mkfifo(const char *path, mode_t mode); } -133 STD { ssize_t sys_sendto(int s, const void *buf, \ +133 STD NOLOCK { ssize_t sys_sendto(int s, const void *buf, \ size_t len, int flags, const struct sockaddr *to, \ socklen_t tolen); } 134 STD { int sys_shutdown(int s, int how); } -- cgit v1.2.3