changeset 4fbe4b0adb4d in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=4fbe4b0adb4d
description:
ruby: improved stall and wait debugging
Added dprintfs and asserts for identifying stall and wait bugs.
diffstat:
src/mem/ruby/network/MessageBuffer.cc | 2 +-
src/mem/ruby/slicc_interface/AbstractController.cc | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diffs (37 lines):
diff -r d87a25259254 -r 4fbe4b0adb4d src/mem/ruby/network/MessageBuffer.cc
--- a/src/mem/ruby/network/MessageBuffer.cc Mon Jul 20 09:15:18 2015 -0500
+++ b/src/mem/ruby/network/MessageBuffer.cc Mon Jul 20 09:15:18 2015 -0500
@@ -295,7 +295,7 @@
void
MessageBuffer::reanalyzeMessages(const Address& addr)
{
- DPRINTF(RubyQueue, "ReanalyzeMessages\n");
+ DPRINTF(RubyQueue, "ReanalyzeMessages %s\n", addr);
assert(m_stall_msg_map.count(addr) > 0);
Tick curTick = m_receiver->clockEdge();
diff -r d87a25259254 -r 4fbe4b0adb4d
src/mem/ruby/slicc_interface/AbstractController.cc
--- a/src/mem/ruby/slicc_interface/AbstractController.cc Mon Jul 20
09:15:18 2015 -0500
+++ b/src/mem/ruby/slicc_interface/AbstractController.cc Mon Jul 20
09:15:18 2015 -0500
@@ -26,8 +26,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "mem/ruby/slicc_interface/AbstractController.hh"
+
+#include "debug/RubyQueue.hh"
#include "mem/protocol/MemoryMsg.hh"
-#include "mem/ruby/slicc_interface/AbstractController.hh"
#include "mem/ruby/system/Sequencer.hh"
#include "mem/ruby/system/System.hh"
#include "sim/system.hh"
@@ -103,6 +105,9 @@
msgVec->resize(m_in_ports, NULL);
m_waiting_buffers[addr] = msgVec;
}
+ DPRINTF(RubyQueue, "stalling %s port %d addr %s\n", buf, m_cur_in_port,
+ addr);
+ assert(m_in_ports > m_cur_in_port);
(*(m_waiting_buffers[addr]))[m_cur_in_port] = buf;
}
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev