Bradford Beckmann has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/32862 )

Change subject: mem-ruby: remove gmTokenPort from GPUCoalescer
......................................................................

mem-ruby: remove gmTokenPort from GPUCoalescer

Change-Id: Ie774d1619ea2a69908c04564826c3bee858a5dda
---
M src/mem/ruby/system/GPUCoalescer.cc
M src/mem/ruby/system/GPUCoalescer.hh
2 files changed, 2 insertions(+), 45 deletions(-)



diff --git a/src/mem/ruby/system/GPUCoalescer.cc b/src/mem/ruby/system/GPUCoalescer.cc
index bf6d7db..f1b0db7 100644
--- a/src/mem/ruby/system/GPUCoalescer.cc
+++ b/src/mem/ruby/system/GPUCoalescer.cc
@@ -102,7 +102,7 @@
         if (iter->second.empty()) {
DPRINTF(GPUCoalescer, "Returning token seqNum %d\n", iter->first);
             instMap.erase(iter++);
-            coalescer->getGMTokenPort().sendTokens(1);
+            coalescer->slave_ports[0]->sendTokens(1);
         } else {
             ++iter;
         }
@@ -161,8 +161,7 @@
       issueEvent([this]{ completeIssue(); }, "Issue coalesced request",
                  false, Event::Progress_Event_Pri),
       uncoalescedTable(this),
- deadlockCheckEvent([this]{ wakeup(); }, "GPUCoalescer deadlock check"),
-      gmTokenPort(name() + ".gmTokenPort", this)
+ deadlockCheckEvent([this]{ wakeup(); }, "GPUCoalescer deadlock check")
 {
     m_store_waiting_on_load_cycles = 0;
     m_store_waiting_on_store_cycles = 0;
@@ -194,17 +193,6 @@
 {
 }

-Port &
-GPUCoalescer::getPort(const std::string &if_name, PortID idx)
-{
-    if (if_name == "gmTokenPort") {
-        return gmTokenPort;
-    }
-
-    // delgate to RubyPort otherwise
-    return RubyPort::getPort(if_name, idx);
-}
-
 void
 GPUCoalescer::wakeup()
 {
diff --git a/src/mem/ruby/system/GPUCoalescer.hh b/src/mem/ruby/system/GPUCoalescer.hh
index ca53c7f..882a131 100644
--- a/src/mem/ruby/system/GPUCoalescer.hh
+++ b/src/mem/ruby/system/GPUCoalescer.hh
@@ -49,7 +49,6 @@
 #include "mem/ruby/protocol/RubyRequestType.hh"
 #include "mem/ruby/protocol/SequencerRequestType.hh"
 #include "mem/ruby/system/Sequencer.hh"
-#include "mem/token_port.hh"

 class DataBlock;
 class CacheMsg;
@@ -239,33 +238,10 @@
 class GPUCoalescer : public RubyPort
 {
   public:
-    class GMTokenPort : public TokenSlavePort
-    {
-      public:
-        GMTokenPort(const std::string& name, ClockedObject *owner,
-                    PortID id = InvalidPortID)
-            : TokenSlavePort(name, owner, id)
-        { }
-        ~GMTokenPort() { }
-
-      protected:
-        Tick recvAtomic(PacketPtr) { return Tick(0); }
-        void recvFunctional(PacketPtr) { }
-        bool recvTimingReq(PacketPtr) { return false; }
-        AddrRangeList getAddrRanges() const
-        {
-            AddrRangeList ranges;
-            return ranges;
-        }
-    };
-
     typedef RubyGPUCoalescerParams Params;
     GPUCoalescer(const Params *);
     ~GPUCoalescer();

-    Port &getPort(const std::string &if_name,
-                  PortID idx = InvalidPortID) override;
-
     // Public Methods
     void wakeup(); // Used only for deadlock detection
     void printRequestTable(std::stringstream& ss);
@@ -362,8 +338,6 @@

     void insertKernel(int wavefront_id, PacketPtr pkt);

-    GMTokenPort& getGMTokenPort() { return gmTokenPort; }
-
     Stats::Histogram& getOutstandReqHist() { return m_outstandReqHist; }

     Stats::Histogram& getLatencyHist() { return m_latencyHist; }
@@ -542,11 +516,6 @@
 //    Stats::Average avgTccToTcp;

   private:
- // Token port is used to send/receive tokens to/from GPU's global memory
-    // pipeline across the port boundary. There is one per <wave size> data
-    // ports in the CU.
-    GMTokenPort gmTokenPort;
-
     // Private copy constructor and assignment operator
     GPUCoalescer(const GPUCoalescer& obj);
     GPUCoalescer& operator=(const GPUCoalescer& obj);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/32862
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ie774d1619ea2a69908c04564826c3bee858a5dda
Gerrit-Change-Number: 32862
Gerrit-PatchSet: 1
Gerrit-Owner: Bradford Beckmann <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to