summaryrefslogtreecommitdiff
path: root/src/mem/packet_queue.hh
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2015-11-06 03:26:38 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2015-11-06 03:26:38 -0500
commitc086c20bd2578a4dfd4ef5d158de1eddffb1fc9a (patch)
tree8a82f53b2dda40bc3477f29926046b00e6b37eae /src/mem/packet_queue.hh
parent52c8ae5187cb6ba8d15a8de6526f56defe541f5b (diff)
downloadgem5-c086c20bd2578a4dfd4ef5d158de1eddffb1fc9a.tar.xz
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.
Diffstat (limited to 'src/mem/packet_queue.hh')
-rw-r--r--src/mem/packet_queue.hh3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mem/packet_queue.hh b/src/mem/packet_queue.hh
index e9cf34bb0..866a4477a 100644
--- a/src/mem/packet_queue.hh
+++ b/src/mem/packet_queue.hh
@@ -176,8 +176,7 @@ class PacketQueue : public Drainable
*
* @param pkt Packet to send
* @param when Absolute time (in ticks) to send packet
- * @param force_order Do not reorder packets despite timing, but keep them
- * in insertion order.
+ * @param force_order Force insertion order for packets with same address
*/
void schedSendTiming(PacketPtr pkt, Tick when, bool force_order = false);