cvs commit: src/lib/libpthread/arch/i386/i386 thr_switch.S
src/lib/libpthread/thread
thr_cancel.c thr_concurrency.c thr_cond.c thr_create.c
thr_detach.c thr_exit.c thr_find_thread.c thr_join.c thr_kern.c
thr_mutex.c thr_nanosleep.c thr_priority_queue.c thr_private.h ...
Daniel Eischen
deischen at FreeBSD.org
Mon Apr 28 16:56:14 PDT 2003
deischen 2003/04/28 16:56:12 PDT
FreeBSD src repository
Modified files:
lib/libpthread/arch/i386/i386 thr_switch.S
lib/libpthread/thread thr_cancel.c thr_concurrency.c
thr_cond.c thr_create.c thr_detach.c
thr_exit.c thr_find_thread.c thr_join.c
thr_kern.c thr_mutex.c thr_nanosleep.c
thr_priority_queue.c thr_private.h
thr_sigsuspend.c thr_sigwait.c
thr_spinlock.c thr_yield.c
Log:
o Don't add a scope system thread's KSE to the list of available
KSEs when it's thread exits; allow the GC handler to do that.
o Make spinlock/spinlock critical regions.
The following were submitted by davidxu
o Alow thr_switch() to take a null mailbox argument.
o Better protect cancellation checks.
o Don't set KSE specific data when creating new KSEs; rely on the
first upcall of the KSE to set it.
o Add the ability to set the maximum concurrency level and do this
automatically. We should have a way to enable/disable this with
some sort of tunable because some applications may not want this
to be the default.
o Hold the scheduling lock across thread switch calls.
o If scheduling of a thread fails, make sure to remove it from the list
of active threads.
o Better protect accesses to a joining threads when the target thread is
exited and detached.
o Remove some macro definitions that are now provided by <sys/kse.h>.
o Don't leave the library in threaded mode if creation of the initial
KSE fails.
o Wakeup idle KSEs when there are threads ready to run.
o Maintain the number of threads active in the priority queue.
Revision Changes Path
1.6 +4 -2 src/lib/libpthread/arch/i386/i386/thr_switch.S
1.19 +9 -3 src/lib/libpthread/thread/thr_cancel.c
1.2 +63 -45 src/lib/libpthread/thread/thr_concurrency.c
1.38 +7 -1 src/lib/libpthread/thread/thr_cond.c
1.42 +7 -0 src/lib/libpthread/thread/thr_create.c
1.21 +2 -13 src/lib/libpthread/thread/thr_detach.c
1.31 +5 -2 src/lib/libpthread/thread/thr_exit.c
1.11 +3 -0 src/lib/libpthread/thread/thr_find_thread.c
1.24 +6 -8 src/lib/libpthread/thread/thr_join.c
1.59 +121 -40 src/lib/libpthread/thread/thr_kern.c
1.34 +26 -9 src/lib/libpthread/thread/thr_mutex.c
1.19 +2 -2 src/lib/libpthread/thread/thr_nanosleep.c
1.14 +5 -4 src/lib/libpthread/thread/thr_priority_queue.c
1.84 +37 -9 src/lib/libpthread/thread/thr_private.h
1.16 +3 -2 src/lib/libpthread/thread/thr_sigsuspend.c
1.23 +2 -3 src/lib/libpthread/thread/thr_sigwait.c
1.15 +16 -15 src/lib/libpthread/thread/thr_spinlock.c
1.11 +4 -1 src/lib/libpthread/thread/thr_yield.c
More information about the cvs-src
mailing list