mem: Order packet queue only on matching addresses
authorAndreas Hansson <andreas.hansson@arm.com>
Fri, 6 Nov 2015 08:26:38 +0000 (03:26 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Fri, 6 Nov 2015 08:26:38 +0000 (03:26 -0500)
commitc086c20bd2578a4dfd4ef5d158de1eddffb1fc9a
tree8a82f53b2dda40bc3477f29926046b00e6b37eae
parent52c8ae5187cb6ba8d15a8de6526f56defe541f5b
mem: Order packet queue only on matching addresses

Instead of conservatively enforcing order for all packets, which may
negatively impact the simulated-system performance, this patch updates
the packet queue such that it only applies the restriction if there
are already packets with the same address in the queue.

The basic need for the order enforcement is due to coherency
interactions where requests/responses to the same cache line must not
over-take each other. We rely on the fact that any packet that needs
order enforcement will have a block-aligned address. Thus, there is no
need for the queue to know about the cacheline size.
src/mem/packet_queue.cc
src/mem/packet_queue.hh