Revert grabbing the socket lock in kqueue(2) filters.
authormpi <mpi@openbsd.org>
Mon, 18 Dec 2017 10:07:55 +0000 (10:07 +0000)
committermpi <mpi@openbsd.org>
Mon, 18 Dec 2017 10:07:55 +0000 (10:07 +0000)
commitac4e89087f2346fab8a1fa39995d6e9c5c4ba2ca
tree3ef0eb9a855a7c130e19686b8485597b482d768d
parente8a5fa7b28f13aaabdc4ee58078d26f364a199b9
Revert grabbing the socket lock in kqueue(2) filters.

This change exposed or created a situation where a CPU started to be
irresponsive while holding the KERNEL_LOCK().  These led to lockups and
even with MP_LOCKDEBUG it was not clear what happened to this CPU.

These situations have been experience by dhill@ with dcrwallet and jcs@
with syncthing.  Both applications are written in Go and do kevent(2)
& networking across multiple threads.
sys/kern/uipc_socket.c
sys/miscfs/fifofs/fifo_vnops.c
sys/sys/socketvar.h