1. 28 Oct, 2010 1 commit
  2. 06 Oct, 2010 1 commit
  3. 01 Sep, 2010 1 commit
  4. 13 Aug, 2010 1 commit
  5. 03 Aug, 2010 1 commit
  6. 27 Jul, 2010 3 commits
    • David Goodell's avatar
      [svn-r6922] use the new COMPLETION CS in the progress engine · cb936755
      David Goodell authored
      This commit begins to parallelize the progress engine slightly by making
      it possible to signal request completion without acquiring the (bloated
      and largely serial) MPIDCOMM critical section.
      
      No reviewer.
      cb936755
    • David Goodell's avatar
      [svn-r6919] completion counter cleanup (adds MPID_cc_t) · 0a5c22ae
      David Goodell authored
      When compiled for fine-grained threading, the completion counter serves
      as a form of lockfree signalling.  As such, atomic access and memory
      barriers must be used to ensure correctness.
      
      In per-object mode, this code also contains valgrind client request annotations
      to inform Helgrind/DRD/TSan about the lockfree signalling pattern.
      
      No reviewer.
      0a5c22ae
    • David Goodell's avatar
      [svn-r6910] add the LMT CS (really just MPIDCOMM under the hood for now). · 67be2024
      David Goodell authored
      The LMT code should definitely be able to get better parallelism than this, but it
      will require careful study to get it right.  The LMT critical section is just held
      in a far too broad and clumsy way right now.  There are two major
      problems:
      
      1) the LMT code must call "up" to the main CH3 code in order to send and
         receive helper packets
      2) MPIDCOMM and LMT both lock code regions, rather than data.  Together
         with (1) above, this makes it difficult to avoid deadlocks.
      
      No reviewer.
      67be2024
  7. 23 Jun, 2010 1 commit
  8. 20 May, 2010 1 commit
  9. 17 May, 2010 2 commits
    • David Goodell's avatar
      [svn-r6666] delete garbage, unused pthreads code in CH3's mpidimpl.h · 6380e4b5
      David Goodell authored
      The code was introduced in r3200.
      
      No reviewer.
      6380e4b5
    • David Goodell's avatar
      [svn-r6664] overhaul MPICH2's threading macros · 200c7665
      David Goodell authored
      This is actually several logical changes, but they are very difficult to
      separate into individual commits because of how tangled the old macros
      were.  Some of the changes are:
      
      - general macro cleanup: do{}while(0) and whitespace issues
      - add support for compiler-assisted thread-local storage (TLS)
      - make MPID_Thread (e.g. pthread) TLS macros easier to understand and use
      - drop non-portable parentheses from MPIU_ISTHREADED macro
      - eliminate the MPID_CS_* family of macros which were simultaneously
        complementary to and in conflict with the newer MPIU_THREAD_CS_*
        macros
      
      No reviewer.
      200c7665
  10. 14 May, 2010 1 commit
  11. 28 Apr, 2010 1 commit
    • David Goodell's avatar
      [svn-r6582] delete the ssm and shm channels, along with the "process locks" code · 958dd22a
      David Goodell authored
      These channels are old and have been deprecated for a while.  Their
      presence is hampering PMI API development, so I have removed them.
      These were the only channels seriously using the "process locks" code,
      so that mess has also been deleted.  The only remaining useful
      functionality (MPIDU_Yield) has been moved to the OS wrappers.
      958dd22a
  12. 06 Nov, 2009 1 commit
  13. 20 Oct, 2009 2 commits
    • David Goodell's avatar
      [svn-r5499] Make lock-free reference counting work again. · 56ac9120
      David Goodell authored
      There were several layers of brokenness that prevented lock-free
      reference counting from occurring. Some of this code has been brought
      over from the threads development branch, but most of it is new.  This
      code still contains many questionable uses of the reference count
      variables that need to be investigated and fixed (search for FIXME-MT).
      
      No reviewer.
      56ac9120
    • David Goodell's avatar
      [svn-r5492] Refactor configure-used constants to a new header included before mpidpre.h. · c68165c5
      David Goodell authored
      Prior to this commit the constants used to indicate the thread
      granularity level were defined after mpidpre.h was included in mpiimpl.h
      This prevented the device from making conditional compilation decisions
      in mpidpre.h based on the thread granularity level selected by
      configure.
      
      No reviewer.
      c68165c5
  14. 19 Oct, 2009 1 commit
  15. 06 Aug, 2009 1 commit
  16. 24 Jul, 2009 1 commit
  17. 22 May, 2009 1 commit
    • David Goodell's avatar
      [svn-r4618] Fix for sendselfth (tt #611). Also improved progress debug logging. · 2f26768b
      David Goodell authored
      We weren't initializing the condition variable, so cond_wait would fail,
      and the thread in progress_delay wouldn't ever release the associated
      mutex.  Since the mutex wasn't ever released, the other thread that was
      yielding was unable to reacquire the mutex and check the completion
      counter, resulting in a deadlock.
      
      No reviewer.
      2f26768b
  18. 11 May, 2009 1 commit
  19. 06 May, 2009 1 commit
    • Darius Buntinas's avatar
      [svn-r4411] Fixed nemesis to correctly set vc state (instead of setting all... · 14a1e1cf
      Darius Buntinas authored
      [svn-r4411] Fixed nemesis to correctly set vc state (instead of setting all vcs to active.  Renamed MPIDI_Comm_get_vc to MPIDI_Comm_get_vc_set_active to alert caller to side-effect.  Added MPIDI_CHANGE_VC_STATE macro to set the vc state and call debugging macro.  Changed all places where vc state is changed to use this macro.  Reviewed by goodell@.
      14a1e1cf
  20. 01 May, 2009 1 commit
  21. 05 Mar, 2009 1 commit
  22. 06 Feb, 2009 1 commit
  23. 10 Dec, 2008 1 commit
  24. 04 Dec, 2008 1 commit
  25. 24 Nov, 2008 1 commit
  26. 13 Nov, 2008 1 commit
  27. 06 Nov, 2008 1 commit
  28. 28 Oct, 2008 1 commit
  29. 10 Oct, 2008 1 commit
  30. 09 Oct, 2008 2 commits
  31. 28 Sep, 2008 1 commit
  32. 02 Sep, 2008 1 commit
  33. 15 Aug, 2008 1 commit
  34. 13 Aug, 2008 1 commit
  35. 29 Jul, 2008 1 commit