diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2013-05-30 12:54:00 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2013-05-30 12:54:00 -0400 |
commit | e82996d9dad5ac38fe2c8709c05b26cf92d356e8 (patch) | |
tree | 0d71e4381030dce2e0bfdc15f2f379d572542825 /src/mem/bus.cc | |
parent | cb62d39835f4764562e74b0e113437e76e8949ff (diff) | |
download | gem5-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.cc | 3 |
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 |