mem: Use the packet delays and do not just zero them out
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 6 Nov 2015 08:26:36 +0000 (03:26 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 6 Nov 2015 08:26:36 +0000 (03:26 -0500)
commit6b70afd0d4ec8821105e506d7a20f9af01b8eafb
tree401326ebed801c86355d7b97644feb5fce0bc134
parent8bc925e36d0e5de7e70a6d5bf2b1824649932599
mem: Use the packet delays and do not just zero them out

This patch updates the I/O devices, bridge and simple memory to take
the packet header and payload delay into account in their latency
calculations. In all cases we add the header delay, i.e. the
accumulated pipeline delay of any crossbars, and the payload delay
needed for deserialisation of any payload.

Due to the additional unknown latency contribution, the packet queue
of the simple memory is changed to use insertion sorting based on the
time stamp. Moreover, since the memory hands out exclusive (non
shared) responses, we also need to ensure ordering for reads to the
same address.
src/dev/io_device.cc
src/dev/pcidev.cc
src/mem/bridge.cc
src/mem/simple_mem.cc
src/mem/simple_mem.hh