-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2470/#review5436
-----------------------------------------------------------

Ship it!


Ship It!

- Ali Saidi


On Oct. 29, 2014, 3:01 p.m., Andrew Lukefahr wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2470/
> -----------------------------------------------------------
> 
> (Updated Oct. 29, 2014, 3:01 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 10510:ef000bfc0a87
> ---------------------------
> Minor Draining Bug
> 
> Fixes a bug where Minor drains in the midst of committing a conditional 
> store.  
> 
> While committing a conditional store, lastCommitWasEndOfMacroop is true (from 
> the previous instruction) as we still haven't finished the conditional store. 
> If a drain occurs before the cache response, Minor would check just 
> lastCommitWasEndOfMacroop, which was true, and set drainState=DrainHaltFetch, 
> which increases the streamSeqNum.  This caused the conditional store to be 
> squashed when the memory responded and it completed.  However, to the memory 
> the store succeeded, while to the instruction sequence it never occurred. 
> 
> In the case of an LLSC, the instruction sequence will replay the squashed 
> STREX, which will fail as the cache is no longer in LLSC.  Then the 
> instruction sequence will loop back to a LDREX, which receives the updated 
> (incorrect) value.  
> 
> 
> Diffs
> -----
> 
>   src/cpu/minor/execute.cc 5e0a421e2031 
> 
> Diff: http://reviews.gem5.org/r/2470/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Andrew Lukefahr
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to