1. 21 Feb, 2013 3 commits
    • James Dinan's avatar
      Integrated flags into RMA op processing · 478a80f5
      James Dinan authored
      This change extends RMA op processing to pass around flags as needed.  It
      doesn't yet utilize the flags.
      
      Reviewer: goodell
      478a80f5
    • James Dinan's avatar
      Added flags field to RMA op packet headers · c3f87fe3
      James Dinan authored
      Added flags field to RMA operation packets that are sent from origin to target.
      This will be used to piggyback RMA synchronization operations.
      
      Reviewer: goodell
      c3f87fe3
    • James Dinan's avatar
      Consolidated RMA op finalization code · bba35589
      James Dinan authored
      This patch consolidates the synchronization and tracking of RMA operations into
      a single routine that is called whenever we complete an operation.  The only
      exception are lock-op-unlock operations that are completed from within the lock
      operation processing code.
      
      This code is pretty ugly, but it will get cleaner once packet flags are been
      added.
      
      Reviewer: goodell
      bba35589
  2. 06 Feb, 2013 3 commits
    • James Dinan's avatar
      PERF: Overlap req/wait for lock-all on shr men win · 3593b5c0
      James Dinan authored
      Send out all lock requests before waiting for lock acquisition.  This
      should improve the performance of lock-all operations on shared memory
      windows.
      
      Reviewer: goodell
      3593b5c0
    • James Dinan's avatar
      PERF: Flush should ignore inactive targets · 460cf5ca
      James Dinan authored
      This fix enables flush to ignore non-local targets that have not been targeted
      by an RMA operation.  Prior to this fix, a call to flush-all would result in
      acquiring the lock at all targets, which is extremely inefficient.
      
      Reviewer: goodell
      460cf5ca
    • James Dinan's avatar
      Eliminate enqueueing of lock op in RMA ops list · fbd95593
      James Dinan authored
      Prior to this patch, a lock entry was enqueued in the RMA ops list when
      Win_lock was called.  This patch adds a new state tracking mechanism, which we
      use to record the synchronization state with respect to each RMA target.  This
      new mechanism absorbs tracking of lock operation and the lock state at the
      target.  It significantly simplifies the RMA synchronization and ops list
      processing.
      
      Reviewer: goodell
      fbd95593
  3. 05 Feb, 2013 1 commit
    • James Dinan's avatar
      BUGFIX: Unlock piggybacking for Get_accumulate · 0b364068
      James Dinan authored
      GACC operations were both piggybacking the unlock message to the origin, and
      sending back a PT done packet.  This was causing the origin to be unlocked
      twice.  When another lock operation was performed between the GACC and PT done
      unlock operations, there was a synchronization race.
      0b364068
  4. 11 Jan, 2013 1 commit
  5. 13 Dec, 2012 1 commit
  6. 10 Dec, 2012 1 commit
  7. 27 Nov, 2012 2 commits
  8. 08 Nov, 2012 6 commits
    • James Dinan's avatar
      [svn-r10593] Renamed EPOCH_GAT to PSCW · d45a8f45
      James Dinan authored
      d45a8f45
    • James Dinan's avatar
      [svn-r10592] Updated active target to use a shared ops list · 5510107a
      James Dinan authored
      This fixes the performance regression that was introduced by concatenation of
      per-target lists.
      
      Reviewer: goodell
      5510107a
    • James Dinan's avatar
      [svn-r10590] Renamed fence_cnt to fence_issued · b054ac23
      James Dinan authored
      The fence_cnt field in MPID_Win is not a counter, it's a flag that indicates if
      fence has been called.
      
      Reviewer: buntinas
      b054ac23
    • James Dinan's avatar
      [svn-r10588] Updated lock_all with shared memory fences · 3f432fde
      James Dinan authored
      The implementation of lock/unlock_all was updated with the addition of epoch
      tracking.  This patch adds a corresponding update of the memory fences for
      shared memory windows.
      
      Reviewer: balaji
      3f432fde
    • James Dinan's avatar
      [svn-r10587] RMA epoch tracking · b001136e
      James Dinan authored
      This patch adds code to track the RMA epoch state of the local process.
      Currently, we are tracking the synchronization states that are allowed by
      MPICH; in the future, we may want to restrict this to only states that are
      allowed by the standard.  The addition of epoch tracking has several benefits:
      
       * It allows us to detect synchronization errors (implemented in this patch).
       * It allows us to implement lock_all more efficiently (implemented in this
         patch).
       * It will allow us to distinguish between active and passive target epochs and
         avoid O(p) op list concatenation (future patch).
      
      Reviewer: balaji
      b001136e
    • James Dinan's avatar
      [svn-r10586] Factored local lock code into a separate routine · 4c007948
      James Dinan authored
      This change will set us up to acquire the local lock inside of other
      synchronization calls, specifically Win_lock_all.
      
      Reviewer: buntinas
      4c007948
  9. 06 Nov, 2012 1 commit
  10. 05 Nov, 2012 16 commits
  11. 02 Nov, 2012 2 commits
  12. 23 Oct, 2012 3 commits