Module Name: src Committed By: ad Date: Wed Jan 29 15:47:52 UTC 2020
Modified Files: src/sys/compat/common: kern_50.c kern_time_60.c src/sys/compat/netbsd32: netbsd32_compat_50.c netbsd32_compat_60.c netbsd32_lwp.c src/sys/kern: kern_exec.c kern_exit.c kern_fork.c kern_lwp.c kern_proc.c sys_lwp.c src/sys/sys: lwp.h proc.h Log Message: - Track LWPs in a per-process radixtree. It uses no extra memory in the single threaded case. Replace scans of p->p_lwps with lookups in the tree. Find free LIDs for new LWPs in the tree. Replace the hashed sleep queues for park/unpark with lookups in the tree under cover of a RW lock. - lwp_wait(): if waiting on a specific LWP, find the LWP via tree lookup and return EINVAL if it's detached, not ESRCH. - Group the locks in struct proc at the end of the struct in their own cache line. - Add some comments. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/compat/common/kern_50.c \ src/sys/compat/common/kern_time_60.c cvs rdiff -u -r1.44 -r1.45 src/sys/compat/netbsd32/netbsd32_compat_50.c cvs rdiff -u -r1.5 -r1.6 src/sys/compat/netbsd32/netbsd32_compat_60.c cvs rdiff -u -r1.21 -r1.22 src/sys/compat/netbsd32/netbsd32_lwp.c cvs rdiff -u -r1.489 -r1.490 src/sys/kern/kern_exec.c cvs rdiff -u -r1.281 -r1.282 src/sys/kern/kern_exit.c cvs rdiff -u -r1.217 -r1.218 src/sys/kern/kern_fork.c cvs rdiff -u -r1.222 -r1.223 src/sys/kern/kern_lwp.c cvs rdiff -u -r1.239 -r1.240 src/sys/kern/kern_proc.c cvs rdiff -u -r1.73 -r1.74 src/sys/kern/sys_lwp.c cvs rdiff -u -r1.199 -r1.200 src/sys/sys/lwp.h cvs rdiff -u -r1.357 -r1.358 src/sys/sys/proc.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.