From e82996d9dad5ac38fe2c8709c05b26cf92d356e8 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Thu, 30 May 2013 12:54:00 -0400 Subject: mem: Separate the two snoop response cases in the bus This patch makes the flow control and state updates of the coherent bus more clear by separating the two cases, i.e. forward as a snoop response, or turn it into a normal response. With this change it is also more clear what resources are being occupied, and that we effectively bypass the busy check for the second case. As a result of the change in resource usage some stats change. --- src/mem/bus.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/mem/bus.cc') diff --git a/src/mem/bus.cc b/src/mem/bus.cc index 8e74212e0..3fa7c7231 100644 --- a/src/mem/bus.cc +++ b/src/mem/bus.cc @@ -195,8 +195,7 @@ BaseBus::Layer::tryTiming(PortClass* port, PortID dest_port_id) // if the destination port is already engaged in a transaction // waiting for a retry from the peer if (state == BUSY || (state == RETRY && port != retryingPort) || - (dest_port_id != InvalidPortID && - waitingForPeer[dest_port_id] != NULL)) { + waitingForPeer[dest_port_id] != NULL) { // put the port at the end of the retry list waiting for the // layer to be freed up (and in the case of a busy peer, for // that transaction to go through, and then the bus to free -- cgit v1.2.3