mem: Perform write merging in the DRAM write queue
Review Request #1962 - Created Aug. 5, 2013 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9834:4c25c3045a75 --------------------------- mem: Perform write merging in the DRAM write queue This patch implements basic write merging in the DRAM to avoid redundant bursts. When a new access is added to the queue it is compared against the existing entries, and if it is either intersecting or immediately succeeding/preceeding an existing item it is merged. There is currently no attempt made at avoiding iterating over the existing items in determining whether merging is possible or not.
With the Alpha quiesce patch and stats updates all regressions pass.
Posted (Aug. 6, 2013, 10:32 a.m.)
With this patch, some changes to addToReadQueue() is needed. The reason is that codes in addToReadQueue currently check to see if the starting address of a read packet is the same as that of a write packet in the write queue (my earlier patch considers the packet size as well). With this new patch, we should simply check to see if a read packet falls into boundaries of a write packet.
Review request changed
Updated (Aug. 7, 2013, 10:21 a.m.)
Description: |
|
|||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+73 -15) |
Ship It!
Review request changed
Updated (Aug. 7, 2013, 2:44 p.m.)
Description: |
|
|||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 3 (+80 -15) |
