changeset 03b21a385c47 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=03b21a385c47
description:
        mem: Check for waiting state in bus draining

        This patch fixes a bug in the bus where the bus transitions from busy
        to idle and still has a port that is waiting for a retry from a peer.

diffstat:

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

diffs (12 lines):

diff -r fe54045c8670 -r 03b21a385c47 src/mem/bus.cc
--- a/src/mem/bus.cc    Thu May 30 12:53:56 2013 -0400
+++ b/src/mem/bus.cc    Thu May 30 12:53:57 2013 -0400
@@ -259,7 +259,7 @@
     // bus layer is now idle, so if someone is waiting we can retry
     if (!waitingForLayer.empty()) {
         retryWaiting();
-    } else if (drainManager) {
+    } else if (waitingForPeer == NULL && drainManager) {
         DPRINTF(Drain, "Bus done draining, signaling drain manager\n");
         //If we weren't able to drain before, do it now.
         drainManager->signalDrainDone();
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to