mem: Make the coherent crossbar account for timing snoops
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 25 Sep 2015 11:13:54 +0000 (07:13 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 25 Sep 2015 11:13:54 +0000 (07:13 -0400)
commit462c288a757bc4fd50324ebe2f1fd697d53838ab
tree02cc70a4d0682136b458ee59d5c9dad0dfdec00a
parent3bd78a141ec60ae65d910286c3d99ae7030ba703
mem: Make the coherent crossbar account for timing snoops

This patch introduces the concept of a snoop latency. Given the
requirement to snoop and forward packets in zero time (due to the
coherency mechanism), the latency is accounted for later.

On a snoop, we establish the latency, and later add it to the header
delay of the packet. To allow multiple caches to contribute to the
snoop latency, we use a separate variable in the packet, and then take
the maximum before adding it to the header delay.
src/mem/cache/cache.cc
src/mem/cache/cache.hh
src/mem/coherent_xbar.cc
src/mem/packet.hh