Run bind(2) system call in parallel.
authorbluhm <bluhm@openbsd.org>
Mon, 18 Dec 2023 13:11:20 +0000 (13:11 +0000)
committerbluhm <bluhm@openbsd.org>
Mon, 18 Dec 2023 13:11:20 +0000 (13:11 +0000)
commit531d726ab58f7926899b170459479c6680cf2c97
treec96d18f02596d4555279b3f9947c6c8374ce7765
parent649070df77337ebdb66f52367e70209bd3c3ab13
Run bind(2) system call in parallel.

For protocols that care about locking, use the shared net lock to
call sobind().  Use the per socket rwlock together with shared net
lock.  This affects protocols UDP, raw IP, and divert.  Move the
inpcb mutex locking into soreceive(), it is only used there.  Add
a comment to describe the current inmplementation of inpcb locking.

OK mvs@ sashan@
sys/kern/uipc_socket.c
sys/kern/uipc_socket2.c
sys/kern/uipc_syscalls.c
sys/netinet/in_pcb.h
sys/sys/protosw.h