cvs commit: src/lib/libthr Makefile pthread.map
src/lib/libthr/arch/alpha/alpha
_curthread.c pthread_md.c src/lib/libthr/arch/alpha/include
pthread_md.h src/lib/libthr/arch/amd64 Makefile.inc ...
David Xu
davidxu at FreeBSD.org
Fri Apr 1 17:20:02 PST 2005
davidxu 2005-04-02 01:20:01 UTC
FreeBSD src repository
Modified files:
lib/libthr Makefile
lib/libthr/arch/alpha Makefile.inc
lib/libthr/arch/amd64 Makefile.inc
lib/libthr/arch/i386 Makefile.inc
lib/libthr/arch/ia64 Makefile.inc
lib/libthr/arch/powerpc Makefile.inc
lib/libthr/arch/sparc64 Makefile.inc
lib/libthr/sys Makefile.inc thr_error.c
lib/libthr/thread Makefile.inc thr_atfork.c thr_attr.c
thr_barrier.c thr_barrierattr.c
thr_cancel.c thr_clean.c
thr_concurrency.c thr_cond.c thr_create.c
thr_detach.c thr_exit.c thr_info.c
thr_init.c thr_join.c thr_kern.c
thr_main_np.c thr_mutex.c
thr_mutex_prioceiling.c
thr_mutex_protocol.c thr_once.c
thr_printf.c thr_private.h
thr_resume_np.c thr_rwlock.c thr_self.c
thr_sem.c thr_seterrno.c
thr_setschedparam.c thr_sig.c thr_spec.c
thr_spinlock.c thr_stack.c
thr_suspend_np.c thr_syscalls.c
Added files:
lib/libthr pthread.map
lib/libthr/arch/alpha/alpha pthread_md.c
lib/libthr/arch/alpha/include pthread_md.h
lib/libthr/arch/amd64/amd64 pthread_md.c
lib/libthr/arch/amd64/include pthread_md.h
lib/libthr/arch/arm Makefile.inc
lib/libthr/arch/arm/arm pthread_md.c
lib/libthr/arch/arm/include pthread_md.h
lib/libthr/arch/i386/i386 pthread_md.c
lib/libthr/arch/i386/include pthread_md.h
lib/libthr/arch/ia64/ia64 pthread_md.c
lib/libthr/arch/ia64/include pthread_md.h
lib/libthr/arch/powerpc/include pthread_md.h
lib/libthr/arch/powerpc/powerpc pthread_md.c
lib/libthr/arch/sparc64/include pthread_md.h
lib/libthr/arch/sparc64/sparc64 pthread_md.c
lib/libthr/thread thr_condattr.c thr_fork.c
thr_getschedparam.c thr_kill.c thr_list.c
thr_mutexattr.c thr_pspinlock.c
thr_sigmask.c thr_single_np.c
thr_switch_np.c thr_symbols.c thr_umtx.c
thr_umtx.h
Removed files:
lib/libthr/arch/alpha/alpha _curthread.c
lib/libthr/arch/amd64/amd64 _setcurthread.c
lib/libthr/arch/i386/i386 _curthread.S _setcurthread.c
lib/libthr/arch/ia64/ia64 _curthread.c
lib/libthr/arch/powerpc/powerpc _curthread.c
lib/libthr/arch/sparc64/sparc64 _setcurthread.c
lib/libthr/thread thr_condattr_destroy.c
thr_condattr_init.c thr_find_thread.c
thr_mattr_init.c thr_mattr_kind_np.c
thr_mutexattr_destroy.c thr_subr.c
Log:
Import my recent 1:1 threading working. some features improved includes:
1. fast simple type mutex.
2. __thread tls works.
3. asynchronous cancellation works ( using signal ).
4. thread synchronization is fully based on umtx, mainly, condition
variable and other synchronization objects were rewritten by using
umtx directly. those objects can be shared between processes via
shared memory, it has to change ABI which does not happen yet.
5. default stack size is increased to 1M on 32 bits platform, 2M for
64 bits platform.
As the result, some mysql super-smack benchmarks show performance is
improved massivly.
Okayed by: jeff, mtm, rwatson, scottl
Revision Changes Path
1.9 +12 -6 src/lib/libthr/Makefile
1.2 +2 -2 src/lib/libthr/arch/alpha/Makefile.inc
1.3 +0 -55 src/lib/libthr/arch/alpha/alpha/_curthread.c (dead)
1.1 +53 -0 src/lib/libthr/arch/alpha/alpha/pthread_md.c (new)
1.1 +75 -0 src/lib/libthr/arch/alpha/include/pthread_md.h (new)
1.2 +2 -2 src/lib/libthr/arch/amd64/Makefile.inc
1.2 +0 -101 src/lib/libthr/arch/amd64/amd64/_setcurthread.c (dead)
1.1 +57 -0 src/lib/libthr/arch/amd64/amd64/pthread_md.c (new)
1.1 +103 -0 src/lib/libthr/arch/amd64/include/pthread_md.h (new)
1.1 +7 -0 src/lib/libthr/arch/arm/Makefile.inc (new)
1.1 +54 -0 src/lib/libthr/arch/arm/arm/pthread_md.c (new)
1.1 +106 -0 src/lib/libthr/arch/arm/include/pthread_md.h (new)
1.2 +2 -2 src/lib/libthr/arch/i386/Makefile.inc
1.4 +0 -17 src/lib/libthr/arch/i386/i386/_curthread.S (dead)
1.18 +0 -136 src/lib/libthr/arch/i386/i386/_setcurthread.c (dead)
1.1 +84 -0 src/lib/libthr/arch/i386/i386/pthread_md.c (new)
1.1 +116 -0 src/lib/libthr/arch/i386/include/pthread_md.h (new)
1.2 +2 -2 src/lib/libthr/arch/ia64/Makefile.inc
1.4 +0 -59 src/lib/libthr/arch/ia64/ia64/_curthread.c (dead)
1.1 +58 -0 src/lib/libthr/arch/ia64/ia64/pthread_md.c (new)
1.1 +78 -0 src/lib/libthr/arch/ia64/include/pthread_md.h (new)
1.2 +2 -2 src/lib/libthr/arch/powerpc/Makefile.inc
1.1 +80 -0 src/lib/libthr/arch/powerpc/include/pthread_md.h (new)
1.2 +0 -58 src/lib/libthr/arch/powerpc/powerpc/_curthread.c (dead)
1.1 +58 -0 src/lib/libthr/arch/powerpc/powerpc/pthread_md.c (new)
1.3 +2 -2 src/lib/libthr/arch/sparc64/Makefile.inc
1.1 +87 -0 src/lib/libthr/arch/sparc64/include/pthread_md.h (new)
1.4 +0 -59 src/lib/libthr/arch/sparc64/sparc64/_setcurthread.c (dead)
1.1 +56 -0 src/lib/libthr/arch/sparc64/sparc64/pthread_md.c (new)
1.1 +365 -0 src/lib/libthr/pthread.map (new)
1.3 +2 -2 src/lib/libthr/sys/Makefile.inc
1.2 +7 -12 src/lib/libthr/sys/thr_error.c
1.9 +12 -10 src/lib/libthr/thread/Makefile.inc
1.2 +7 -10 src/lib/libthr/thread/thr_atfork.c
1.3 +336 -233 src/lib/libthr/thread/thr_attr.c
1.3 +50 -72 src/lib/libthr/thread/thr_barrier.c
1.2 +47 -32 src/lib/libthr/thread/thr_barrierattr.c
1.11 +106 -86 src/lib/libthr/thread/thr_cancel.c
1.3 +9 -3 src/lib/libthr/thread/thr_clean.c
1.2 +3 -0 src/lib/libthr/thread/thr_concurrency.c
1.16 +241 -373 src/lib/libthr/thread/thr_cond.c
1.1 +128 -0 src/lib/libthr/thread/thr_condattr.c (new)
1.2 +0 -53 src/lib/libthr/thread/thr_condattr_destroy.c (dead)
1.2 +0 -58 src/lib/libthr/thread/thr_condattr_init.c (dead)
1.20 +132 -97 src/lib/libthr/thread/thr_create.c
1.9 +21 -30 src/lib/libthr/thread/thr_detach.c
1.17 +36 -118 src/lib/libthr/thread/thr_exit.c
1.5 +0 -62 src/lib/libthr/thread/thr_find_thread.c (dead)
1.1 +222 -0 src/lib/libthr/thread/thr_fork.c (new)
1.3 +77 -0 src/lib/libthr/thread/thr_getschedparam.c (new)
1.4 +48 -41 src/lib/libthr/thread/thr_info.c
1.20 +217 -164 src/lib/libthr/thread/thr_init.c
1.16 +48 -143 src/lib/libthr/thread/thr_join.c
1.19 +49 -94 src/lib/libthr/thread/thr_kern.c
1.1 +67 -0 src/lib/libthr/thread/thr_kill.c (new)
1.1 +342 -0 src/lib/libthr/thread/thr_list.c (new)
1.2 +4 -3 src/lib/libthr/thread/thr_main_np.c
1.2 +0 -56 src/lib/libthr/thread/thr_mattr_init.c (dead)
1.3 +0 -98 src/lib/libthr/thread/thr_mattr_kind_np.c (dead)
1.33 +1381 -585 src/lib/libthr/thread/thr_mutex.c
1.4 +30 -27 src/lib/libthr/thread/thr_mutex_prioceiling.c
1.3 +20 -10 src/lib/libthr/thread/thr_mutex_protocol.c
1.1 +167 -0 src/lib/libthr/thread/thr_mutexattr.c (new)
1.2 +0 -53 src/lib/libthr/thread/thr_mutexattr_destroy.c (dead)
1.2 +55 -10 src/lib/libthr/thread/thr_once.c
1.5 +29 -17 src/lib/libthr/thread/thr_printf.c
1.44 +482 -612 src/lib/libthr/thread/thr_private.h
1.1 +133 -0 src/lib/libthr/thread/thr_pspinlock.c (new)
1.8 +29 -26 src/lib/libthr/thread/thr_resume_np.c
1.8 +262 -315 src/lib/libthr/thread/thr_rwlock.c
1.3 +5 -1 src/lib/libthr/thread/thr_self.c
1.5 +171 -157 src/lib/libthr/thread/thr_sem.c
1.2 +3 -3 src/lib/libthr/thread/thr_seterrno.c
1.9 +85 -72 src/lib/libthr/thread/thr_setschedparam.c
1.13 +197 -47 src/lib/libthr/thread/thr_sig.c
1.1 +52 -0 src/lib/libthr/thread/thr_sigmask.c (new)
1.1 +50 -0 src/lib/libthr/thread/thr_single_np.c (new)
1.3 +85 -74 src/lib/libthr/thread/thr_spec.c
1.11 +60 -110 src/lib/libthr/thread/thr_spinlock.c
1.6 +123 -103 src/lib/libthr/thread/thr_stack.c
1.2 +0 -91 src/lib/libthr/thread/thr_subr.c (dead)
1.3 +49 -3 src/lib/libthr/thread/thr_suspend_np.c
1.1 +55 -0 src/lib/libthr/thread/thr_switch_np.c (new)
1.1 +59 -0 src/lib/libthr/thread/thr_symbols.c (new)
1.9 +216 -403 src/lib/libthr/thread/thr_syscalls.c
1.1 +80 -0 src/lib/libthr/thread/thr_umtx.c (new)
1.1 +81 -0 src/lib/libthr/thread/thr_umtx.h (new)
More information about the cvs-src
mailing list