ruby: Add fine grained LL/SC to ruby
Review Request #1541 - Created Nov. 20, 2012 and discarded
| Information | |
|---|---|
| Mitch Hayenga | |
| gem5 | |
| Reviewers | |
| Default | |
This patch fixes 3 issues with Ruby. 1) It adds fine-grained locks, so that stores to a cacheline that don't overlap a locked region do not invalidate locks. 2) It maintains a list of locks (as opposed to a single id). This helps guarantee that at least one thread will succeed (forward progress). 3) It properly invalidates the locks during the transition from SM to IM in the MESI protocol (this was missing).
Dibakar Gope claims it works.
Issue Summary
2
2
0
0
| Description | From | Last Updated | Status |
|---|---|---|---|
| Can we have this statement in a separate action? And this should be committed as separate patch. | Nilay Vaish | Nov. 30, 2012, 2:20 a.m. | Open |
| Replace address by address_low throughout this function. | Nilay Vaish | Nov. 30, 2012, 2:20 a.m. | Open |
Review request changed
Updated (Nov. 20, 2012, 12:03 p.m.)
Change Summary:
Uploaded wrong patch version intially.
Review request changed
Updated (Nov. 20, 2012, 12:27 p.m.)
Change Summary:
MESI call was from an old version.
Diff: |
Revision 3 (+113 -32)
|
|---|
Posted (Nov. 30, 2012, 2:20 a.m.)
-
src/mem/protocol/MESI_CMP_directory-L1cache.sm (Diff revision 3) -
Can we have this statement in a separate action? And this should be committed as separate patch.
-
src/mem/ruby/system/Sequencer.cc (Diff revision 3) -
Replace address by address_low throughout this function.
