Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Andrew Doran <ad@netbsd.org>
List: source-changes
Date: 08/07/2007 19:00:43
Module Name: src
Committed By: ad
Date: Tue Aug 7 19:00:42 UTC 2007
Modified Files:
src/sys/compat/netbsd32: netbsd32_lwp.c syscalls.master
src/sys/kern: sys_lwp.c syscalls.master
src/sys/sys: lwp.h proc.h
Log Message:
- Fix a bug with _lwp_park() where if the computed wakeup time was under
1 microsecond into the future, the thread could enter an untimed sleep.
- Change the signature of _lwp_park() to accept an lwpid_t and second
hint pointer, but do so in a way that remains compatible with older
pthread libraries. This can be used to wake another thread before the
calling thread goes asleep, saving at least one syscall + involuntary
context switch. This turns out to be a fairly large win on the condvar
benchmarks that I have tried.
- Mark some more syscalls MP safe.
To generate a diff of this commit:
cvs rdiff -r1.5 -r1.6 src/sys/compat/netbsd32/netbsd32_lwp.c
cvs rdiff -r1.59 -r1.60 src/sys/compat/netbsd32/syscalls.master
cvs rdiff -r1.23 -r1.24 src/sys/kern/sys_lwp.c
cvs rdiff -r1.174 -r1.175 src/sys/kern/syscalls.master
cvs rdiff -r1.62 -r1.63 src/sys/sys/lwp.h
cvs rdiff -r1.252 -r1.253 src/sys/sys/proc.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.