Date: Sat, 2 Apr 2005 01:20:01 +0000 (UTC) From: David Xu <davidxu@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: 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 ... Message-ID: <200504020120.j321K1j6006181@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504020120.j321K1j6006181>