summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system
diff options
context:
space:
mode:
authorDerek Hower <drh5@cs.wisc.edu>2009-11-13 09:44:51 -0600
committerDerek Hower <drh5@cs.wisc.edu>2009-11-13 09:44:51 -0600
commitf7f475a6f414dcd69790a1a052910386cbbe0a93 (patch)
treeeb121820cc0c6d459f473f317e68d7142b52d921 /src/mem/ruby/system
parent2ee04d65873bac7a91d9d309eff79d13b8cc8103 (diff)
downloadgem5-f7f475a6f414dcd69790a1a052910386cbbe0a93.tar.xz
ruby: gave ALIASED_REQUEST priority over BUFFER_FULL in sequencer
Diffstat (limited to 'src/mem/ruby/system')
-rw-r--r--src/mem/ruby/system/Sequencer.cc10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc
index bef0d5412..3e0997708 100644
--- a/src/mem/ruby/system/Sequencer.cc
+++ b/src/mem/ruby/system/Sequencer.cc
@@ -354,16 +354,14 @@ void Sequencer::hitCallback(SequencerRequest* srequest, DataBlock& data) {
// Returns true if the sequencer already has a load or store outstanding
int Sequencer::isReady(const RubyRequest& request) {
- if (m_outstanding_count >= m_max_outstanding_requests) {
- return LIBRUBY_BUFFER_FULL;
- }
-
if( m_writeRequestTable.exist(line_address(Address(request.paddr))) ||
m_readRequestTable.exist(line_address(Address(request.paddr))) ){
- //cout << "OUTSTANDING REQUEST EXISTS " << p << " VER " << m_version << endl;
- //printProgress(cout);
return LIBRUBY_ALIASED_REQUEST;
}
+
+ if (m_outstanding_count >= m_max_outstanding_requests) {
+ return LIBRUBY_BUFFER_FULL;
+ }
return 1;
}