cvs commit: src/sys/kern kern_thr.c kern_umtx.c src/sys/sys thr.h umtx.h src/lib/libthr/thread thr_cond.c thr_create.c thr_mutex.c thr_private.h

Marcel Moolenaar marcel at FreeBSD.org
Thu Jul 1 17:41:01 PDT 2004


marcel      2004-07-02 00:40:08 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_thr.c kern_umtx.c 
    sys/sys              thr.h umtx.h 
    lib/libthr/thread    thr_cond.c thr_create.c thr_mutex.c 
                         thr_private.h 
  Log:
  Change the thread ID (thr_id_t) used for 1:1 threading from being a
  pointer to the corresponding struct thread to the thread ID (lwpid_t)
  assigned to that thread. The primary reason for this change is that
  libthr now internally uses the same ID as the debugger and the kernel
  when referencing to a kernel thread. This allows us to implement the
  support for debugging without additional translations and/or mappings.
  
  To preserve the ABI, the 1:1 threading syscalls, including the umtx
  locking API have not been changed to work on a lwpid_t. Instead the
  1:1 threading syscalls operate on long and the umtx locking API has
  not been changed except for the contested bit. Previously this was
  the least significant bit. Now it's the most significant bit. Since
  the contested bit should not be tested by userland, this change is
  not expected to be visible. Just to be sure, UMTX_CONTESTED has been
  removed from <sys/umtx.h>.
  
  Reviewed by: mtm@
  ABI preservation tested on: i386, ia64
  
  Revision  Changes    Path
  1.15      +4 -4      src/lib/libthr/thread/thr_cond.c
  1.17      +0 -9      src/lib/libthr/thread/thr_create.c
  1.29      +4 -4      src/lib/libthr/thread/thr_mutex.c
  1.38      +1 -2      src/lib/libthr/thread/thr_private.h
  1.21      +16 -13    src/sys/kern/kern_thr.c
  1.15      +5 -3      src/sys/kern/kern_umtx.c
  1.3       +4 -9      src/sys/sys/thr.h
  1.4       +10 -11    src/sys/sys/umtx.h


More information about the cvs-src mailing list