I tried to figure out if multiple processes or threads can execute concurrent syscalls, without one of them sleeping.That's to say: Does OpenBSD use something like a Big Kernel Lock (https://en.wikipedia.org/wiki/Giant_lock).
One would expect, that parallel Kernel access is possible. I tried to look into the syscall interface (code-reading and kernel debugging) and didn't find anything that would strike me as BKL.However, when I look into the fork syscall implementation (https://github.com/openbsd/src/blob/master/sys/kern/kern_fork.c), it appears to me, that some global data is accessed without locking (e.g. nprocesses). I was wondering, if the scheduler (?), somehow, prevents parallel syscalls, or if I am overlooking something.
So: Does OpenBSD support parallel Kernel access and how about other BSDs?