changeset cfb305ba76bd in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=cfb305ba76bd
description:
        mem: Fix scheduling bug in SimpleMemory

        This patch ensures that a dequeue event is not scheduled if the memory
        controller is waiting for a retry already. Without this check it is
        possible for the controller to attempt sending something whilst
        already having one packet that is in retry, thus causing the bus to
        have an assertion failure.

diffstat:

 src/mem/simple_mem.cc |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff -r b072123bc071 -r cfb305ba76bd src/mem/simple_mem.cc
--- a/src/mem/simple_mem.cc     Wed Sep 18 08:46:32 2013 -0400
+++ b/src/mem/simple_mem.cc     Wed Sep 18 08:46:33 2013 -0400
@@ -155,7 +155,7 @@
         // the end even if the latency suggests it should be sent
         // before the packet(s) before it
         packetQueue.push_back(DeferredPacket(pkt, curTick() + getLatency()));
-        if (!dequeueEvent.scheduled())
+        if (!retryResp && !dequeueEvent.scheduled())
             schedule(dequeueEvent, packetQueue.back().tick);
     } else {
         pendingDelete.push_back(pkt);
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to