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 gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev