mem: Avoid DRAM write queue iteration for merging and read lookup
Review Request #2746 - Created April 24, 2015 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10889:4e1f65546a25 --------------------------- mem: Avoid DRAM write queue iteration for merging and read lookup This patch adds a simple lookup structure to avoid iterating over the write queue to find read matches, and for the merging of write bursts. Instead of relying on iteration we simply store a set of currently-buffered write-burst addresses and compare against these. For the reads we still perform the iteration if we have a match. For the writes, we rely entirely on the set. Note that there are corner-cases where sub-bursts would actually not be mergeable without a read-modify-write. We ignore these cases and opt for speed.
Posted (April 29, 2015, 10:02 a.m.)
A great simplifictaion. Looks good to me.
Posted (July 1, 2015, 10:55 p.m.)
-
src/mem/dram_ctrl.hh (Diff revision 1) -
I am guessing that somewhere you make sure that burstSize is a power of two.
-
src/mem/dram_ctrl.cc (Diff revision 1) -
Just a thought. Why not add pktCount to this variable after the loop.
-
src/mem/dram_ctrl.cc (Diff revision 1) -
Same thing can be done over here.
Ship It!
Review request changed
Updated (July 2, 2015, 8:04 a.m.)
Description: |
|
|||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+48 -71) |
