changeset 3a3bb559b112 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=3a3bb559b112
description:
        mem: Remove Packet source from ForwardResponseRecord

        This patch removes the source field from the ForwardResponseRecord,
        but keeps the class as it is part of how the cache identifies
        responses to hardware prefetches that are snooped upwards.

diffstat:

 src/mem/cache/cache_impl.hh |  11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diffs (42 lines):

diff -r 1de300588c4f -r 3a3bb559b112 src/mem/cache/cache_impl.hh
--- a/src/mem/cache/cache_impl.hh       Thu Jan 22 05:01:27 2015 -0500
+++ b/src/mem/cache/cache_impl.hh       Thu Jan 22 05:01:30 2015 -0500
@@ -385,10 +385,7 @@
 {
   public:
 
-    PortID prevSrc;
-
-    ForwardResponseRecord(PortID prev_src) : prevSrc(prev_src)
-    {}
+    ForwardResponseRecord() {}
 };
 
 template<class TagStore>
@@ -407,6 +404,9 @@
     assert(!system->bypassCaches());
 
     if (rec == NULL) {
+        // @todo What guarantee do we have that this HardPFResp is
+        // actually for this cache, and not a cache closer to the
+        // memory?
         assert(pkt->cmd == MemCmd::HardPFResp);
         // Check if it's a prefetch response and handle it. We shouldn't
         // get any other kinds of responses without FRRs.
@@ -417,7 +417,6 @@
     }
 
     pkt->popSenderState();
-    pkt->setDest(rec->prevSrc);
     delete rec;
     // @todo someone should pay for this
     pkt->firstWordDelay = pkt->lastWordDelay = 0;
@@ -1542,7 +1541,7 @@
         if (is_timing) {
             Packet snoopPkt(pkt, true, false);  // clear flags, no allocation
             snoopPkt.setExpressSnoop();
-            snoopPkt.pushSenderState(new ForwardResponseRecord(pkt->getSrc()));
+            snoopPkt.pushSenderState(new ForwardResponseRecord());
             // the snoop packet does not need to wait any additional
             // time
             snoopPkt.firstWordDelay = snoopPkt.lastWordDelay = 0;
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to