From bb94296373dde1d0ce971ee58ad111f4225c425e Mon Sep 17 00:00:00 2001 From: Joe Gross Date: Mon, 20 Jul 2015 09:15:18 -0500 Subject: 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 Maintainer: Anthony Gutierrez Tested-by: kokoro --- tests/gem5/learning_gem5/ref/test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') 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 -- cgit v1.2.3