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-all mailing list