created | 2020-02-08T06:37:06Z |
---|---|
begin | 2020-01-21T07:43:48Z |
end | 2020-01-21T15:21:42Z |
path | src/sys |
commits | 3 |
date | 2020-01-21T15:20:47Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/kern/kern_fork.c | log | diff | annotate |
src/sys/kern/kern_synch.c | log | diff | annotate | |
src/sys/kern/syscalls.master | log | diff | annotate | |
src/sys/sys/proc.h | log | diff | annotate | |
message |
Make __thrsleep(2) and __thrwakeup(2) MP-safe Threads in __thrsleep(2) are tracked using queues, one queue per each process for synchronization between threads of a process, and one system-wide queue for the special ident -1 handling. Each of these queues has an associated rwlock that serializes access. The queue lock is released when calling copyin() and copyout() in thrsleep(). This preserves the existing behaviour where a blocked copy operation does not prevent other threads from making progress. Tested by anton@, claudio@ OK anton@, claudio@, tedu@, mpi@ |
date | 2020-01-21T15:21:41Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/kern/init_sysent.c | log | diff | annotate |
src/sys/kern/syscalls.c | log | diff | annotate | |
message | regen |
date | 2020-01-21T15:21:42Z | |||
---|---|---|---|---|
author | visa | |||
files | src/sys/sys/syscall.h | log | diff | annotate |
src/sys/sys/syscallargs.h | log | diff | annotate | |
message | regen |