diff options
author | Joe Gross <joseph.gross@amd.com> | 2015-07-20 09:15:18 -0500 |
---|---|---|
committer | Anthony Gutierrez <anthony.gutierrez@amd.com> | 2019-10-31 18:42:04 +0000 |
commit | bb94296373dde1d0ce971ee58ad111f4225c425e (patch) | |
tree | 107f689b6450a1c986eacfa36412dbdfe1635551 /tests | |
parent | 0125bf80b514c6745ea985b3b13116b42cc0548f (diff) | |
download | gem5-bb94296373dde1d0ce971ee58ad111f4225c425e.tar.xz |
mem-ruby: Fixed pipeline squashes caused by aliased requests
This patch was created by Bihn Pham during his internship at AMD.
This patch fixes a very significant performance bug when using the O3
CPU model and Ruby. The issue was Ruby returned false when it received
a request to the same address that already has an outstanding request or
when the memory is blocked. As a result, O3 unnecessary squashed the
pipeline and re-executed instructions. This fix merges readRequestTable
and writeRequestTable in Sequencer into a single request table that
keeps track of all requests and allows multiple outstanding requests to
the same address. This prevents O3 from squashing the pipeline.
Change-Id: If934d57b4736861e342de0ab18be4feec464273d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21219
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/gem5/learning_gem5/ref/test | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/gem5/learning_gem5/ref/test b/tests/gem5/learning_gem5/ref/test index f41673e35..794ccdd20 100644 --- a/tests/gem5/learning_gem5/ref/test +++ b/tests/gem5/learning_gem5/ref/test @@ -4,4 +4,4 @@ gem5 is copyrighted software; use the --copyright option for details. Global frequency set at 1000000000 ticks per second Beginning simulation! -Exiting @ tick 9831 because Ruby Tester completed +Exiting @ tick 9981 because Ruby Tester completed |