Sequencer.cc (6510:336a194c8500) Sequencer.cc (6763:5a879a3513dc)
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 30 unchanged lines hidden (view full) ---

39#include "mem/protocol/Protocol.hh"
40#include "mem/gems_common/Map.hh"
41#include "mem/ruby/buffers/MessageBuffer.hh"
42#include "mem/ruby/slicc_interface/AbstractController.hh"
43
44//Sequencer::Sequencer(int core_id, MessageBuffer* mandatory_q)
45
46#define LLSC_FAIL -2
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 30 unchanged lines hidden (view full) ---

39#include "mem/protocol/Protocol.hh"
40#include "mem/gems_common/Map.hh"
41#include "mem/ruby/buffers/MessageBuffer.hh"
42#include "mem/ruby/slicc_interface/AbstractController.hh"
43
44//Sequencer::Sequencer(int core_id, MessageBuffer* mandatory_q)
45
46#define LLSC_FAIL -2
47ostream& operator<<(std::ostream& out, const SequencerRequest& obj) {
48 out << obj.ruby_request << flush;
49 return out;
50}
47
48Sequencer::Sequencer(const string & name)
49 :RubyPort(name)
50{
51}
52
53void Sequencer::init(const vector<string> & argv)
54{

--- 46 unchanged lines hidden (view full) ---

101 // Check across all outstanding requests
102 int total_outstanding = 0;
103
104 Vector<Address> keys = m_readRequestTable.keys();
105 for (int i=0; i<keys.size(); i++) {
106 SequencerRequest* request = m_readRequestTable.lookup(keys[i]);
107 if (current_time - request->issue_time >= m_deadlock_threshold) {
108 WARN_MSG("Possible Deadlock detected");
51
52Sequencer::Sequencer(const string & name)
53 :RubyPort(name)
54{
55}
56
57void Sequencer::init(const vector<string> & argv)
58{

--- 46 unchanged lines hidden (view full) ---

105 // Check across all outstanding requests
106 int total_outstanding = 0;
107
108 Vector<Address> keys = m_readRequestTable.keys();
109 for (int i=0; i<keys.size(); i++) {
110 SequencerRequest* request = m_readRequestTable.lookup(keys[i]);
111 if (current_time - request->issue_time >= m_deadlock_threshold) {
112 WARN_MSG("Possible Deadlock detected");
109 WARN_EXPR(request);
113 WARN_EXPR(request->ruby_request);
110 WARN_EXPR(m_version);
111 WARN_EXPR(keys.size());
112 WARN_EXPR(current_time);
113 WARN_EXPR(request->issue_time);
114 WARN_EXPR(current_time - request->issue_time);
115 ERROR_MSG("Aborting");
116 }
117 }
118
119 keys = m_writeRequestTable.keys();
120 for (int i=0; i<keys.size(); i++) {
121 SequencerRequest* request = m_writeRequestTable.lookup(keys[i]);
122 if (current_time - request->issue_time >= m_deadlock_threshold) {
123 WARN_MSG("Possible Deadlock detected");
114 WARN_EXPR(m_version);
115 WARN_EXPR(keys.size());
116 WARN_EXPR(current_time);
117 WARN_EXPR(request->issue_time);
118 WARN_EXPR(current_time - request->issue_time);
119 ERROR_MSG("Aborting");
120 }
121 }
122
123 keys = m_writeRequestTable.keys();
124 for (int i=0; i<keys.size(); i++) {
125 SequencerRequest* request = m_writeRequestTable.lookup(keys[i]);
126 if (current_time - request->issue_time >= m_deadlock_threshold) {
127 WARN_MSG("Possible Deadlock detected");
124 WARN_EXPR(request);
128 WARN_EXPR(request->ruby_request);
125 WARN_EXPR(m_version);
126 WARN_EXPR(current_time);
127 WARN_EXPR(request->issue_time);
128 WARN_EXPR(current_time - request->issue_time);
129 WARN_EXPR(keys.size());
130 ERROR_MSG("Aborting");
131 }
132 }

--- 398 unchanged lines hidden ---
129 WARN_EXPR(m_version);
130 WARN_EXPR(current_time);
131 WARN_EXPR(request->issue_time);
132 WARN_EXPR(current_time - request->issue_time);
133 WARN_EXPR(keys.size());
134 ERROR_MSG("Aborting");
135 }
136 }

--- 398 unchanged lines hidden ---