summaryrefslogtreecommitdiff
path: root/src/mem/bus.cc
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-05-30 12:54:00 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2013-05-30 12:54:00 -0400
commite82996d9dad5ac38fe2c8709c05b26cf92d356e8 (patch)
tree0d71e4381030dce2e0bfdc15f2f379d572542825 /src/mem/bus.cc
parentcb62d39835f4764562e74b0e113437e76e8949ff (diff)
downloadgem5-e82996d9dad5ac38fe2c8709c05b26cf92d356e8.tar.xz
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.
Diffstat (limited to 'src/mem/bus.cc')
-rw-r--r--src/mem/bus.cc3
1 files changed, 1 insertions, 2 deletions
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<PortClass>::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