Review Board 2.0.15


ruby: Fixed pipeline squashes caused by aliased requests

Review Request #3179 - Created Oct. 30, 2015 and discarded - Latest diff uploaded

Information
Tony Gutierrez
gem5
default
Reviewers
Default
Changeset 11185:fc3ceeb4a47d
---------------------------
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.