1. Aug 02, 2016
  2. Aug 01, 2016
  3. Jul 30, 2016
  4. Jul 29, 2016
  5. Jul 28, 2016
  6. Jul 27, 2016
    • Howard Mao's avatar
      fix LRSC issue (fixes issue #86) · 9c89290e
      Howard Mao authored
      9c89290e
    • Howard Mao's avatar
      re-enable SCs inflight with other requests · 0bd7ef12
      Howard Mao authored
      0bd7ef12
    • Howard Mao's avatar
      add uncached noise generator to TraceGen · df07771f
      Howard Mao authored
      df07771f
    • Howard Mao's avatar
      fix LRSC issue (RocketChip issue #86) · dcfcac95
      Howard Mao authored
      It was possible that the result of a store-conditional could get lost if it
      did not depend on the result of the corresponding load-reserved.
      
      This was because the MSHR does not update the client state based on the
      secondary requests. So the LR would acquire the line in clientExcusiveClean,
      but then we would fail to update the metadata array to change the state
      to clientExclusiveDirty.
      
      The solution is to track whether a secondary acquire would cause the
      line to be dirty. If so, use M_XWR instead of the primary command to
      generate the update coherence state.
      dcfcac95
    • Howard Mao's avatar
      ecd1af32
    • Howard Mao's avatar
      Fix L2 Writeback deadlock issue · 82bbbf90
      Howard Mao authored
      The deadlock condition occurs when the acquire tracker attempts to
      request a writeback while the writeback unit is still busy and a
      voluntary release for the block to be written back is coming in.
      
      The voluntary release cannot be accepted because it conflicts with the
      acquire tracker. The acquire tracker can't merge the voluntary release
      because it is waiting to send the writeback. The writeback can't
      progress because the release it is waiting on is behind the voluntary
      release.
      
      The solution to this is to break the atomicity guarantee between the
      acquire tracker and the writeback unit. This allows the voluntary
      release tracker to take the voluntary release before the writeback unit
      accepts the conflicting request. This causes a potential race condition
      for the metadata array. The solution to this is to have the writeback
      unit re-read the metadata after accepting a request.
      82bbbf90
  7. Jul 26, 2016
  8. Jul 23, 2016