changeset 5aed42e54180 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=5aed42e54180
description:
        ruby: network: remove reconfiguration code
        This code seems not to be of any use now. There is no path in the 
simulator
        that allows for reconfiguring the network. A better approach would be to
        take a checkpoint and start the simulation from the checkpoint with the 
new
        configuration.

diffstat:

 src/mem/ruby/network/Network.hh                                |   9 +-
 src/mem/ruby/network/Topology.cc                               |  20 +-
 src/mem/ruby/network/Topology.hh                               |   5 +-
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc  |  72 +++------
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh  |   9 +-
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc |  61 ++-----
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh |   9 +-
 src/mem/ruby/network/simple/SimpleNetwork.cc                   |  27 +---
 src/mem/ruby/network/simple/SimpleNetwork.hh                   |  11 +-
 9 files changed, 72 insertions(+), 151 deletions(-)

diffs (truncated from 469 to 300 lines):

diff -r 52679402e09c -r 5aed42e54180 src/mem/ruby/network/Network.hh
--- a/src/mem/ruby/network/Network.hh   Fri Jun 28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/Network.hh   Fri Jun 28 21:36:37 2013 -0500
@@ -80,16 +80,13 @@
 
     virtual void makeOutLink(SwitchID src, NodeID dest, BasicLink* link,
                              LinkDirection direction,
-                             const NetDest& routing_table_entry,
-                             bool isReconfiguration) = 0;
+                             const NetDest& routing_table_entry) = 0;
     virtual void makeInLink(NodeID src, SwitchID dest, BasicLink* link,
                             LinkDirection direction,
-                            const NetDest& routing_table_entry,
-                            bool isReconfiguration) = 0;
+                            const NetDest& routing_table_entry) = 0;
     virtual void makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
                                   LinkDirection direction,
-                                  const NetDest& routing_table_entry,
-                                  bool isReconfiguration) = 0;
+                                  const NetDest& routing_table_entry) = 0;
 
     virtual void reset() = 0;
 
diff -r 52679402e09c -r 5aed42e54180 src/mem/ruby/network/Topology.cc
--- a/src/mem/ruby/network/Topology.cc  Fri Jun 28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/Topology.cc  Fri Jun 28 21:36:37 2013 -0500
@@ -121,7 +121,7 @@
 }
 
 void
-Topology::createLinks(Network *net, bool isReconfiguration)
+Topology::createLinks(Network *net)
 {
     // Find maximum switchID
     SwitchID max_switch_id = 0;
@@ -179,9 +179,9 @@
         for (int j = 0; j < topology_weights[i].size(); j++) {
             int weight = topology_weights[i][j];
             if (weight > 0 && weight != INFINITE_LATENCY) {
-                NetDest destination_set = shortest_path_to_node(i, j,
-                                                     topology_weights, dist);
-                makeLink(net, i, j, destination_set, isReconfiguration);
+                NetDest destination_set =
+                        shortest_path_to_node(i, j, topology_weights, dist);
+                makeLink(net, i, j, destination_set);
             }
         }
     }
@@ -206,7 +206,7 @@
 
 void
 Topology::makeLink(Network *net, SwitchID src, SwitchID dest,
-                   const NetDest& routing_table_entry, bool isReconfiguration)
+                   const NetDest& routing_table_entry)
 {
     // Make sure we're not trying to connect two end-point nodes
     // directly together
@@ -220,9 +220,7 @@
         src_dest.second = dest;
         link_entry = m_link_map[src_dest];
         net->makeInLink(src, dest - (2 * m_nodes), link_entry.link,
-                        link_entry.direction, 
-                        routing_table_entry,
-                        isReconfiguration);
+                        link_entry.direction, routing_table_entry);
     } else if (dest < 2*m_nodes) {
         assert(dest >= m_nodes);
         NodeID node = dest - m_nodes;
@@ -230,9 +228,7 @@
         src_dest.second = dest;
         link_entry = m_link_map[src_dest];
         net->makeOutLink(src - (2 * m_nodes), node, link_entry.link,
-                         link_entry.direction, 
-                         routing_table_entry,
-                         isReconfiguration);
+                         link_entry.direction, routing_table_entry);
     } else {
         assert((src >= 2 * m_nodes) && (dest >= 2 * m_nodes));
         src_dest.first = src;
@@ -240,7 +236,7 @@
         link_entry = m_link_map[src_dest];
         net->makeInternalLink(src - (2 * m_nodes), dest - (2 * m_nodes),
                               link_entry.link, link_entry.direction,
-                              routing_table_entry, isReconfiguration);
+                              routing_table_entry);
     }
 }
 
diff -r 52679402e09c -r 5aed42e54180 src/mem/ruby/network/Topology.hh
--- a/src/mem/ruby/network/Topology.hh  Fri Jun 28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/Topology.hh  Fri Jun 28 21:36:37 2013 -0500
@@ -68,15 +68,14 @@
              std::vector<BasicIntLink *> int_links);
 
     uint32_t numSwitches() const { return m_number_of_switches; }
-    void createLinks(Network *net, bool isReconfiguration);
+    void createLinks(Network *net);
     void print(std::ostream& out) const { out << "[Topology]"; }
 
   protected:
     void addLink(SwitchID src, SwitchID dest, BasicLink* link,
                  LinkDirection dir);
     void makeLink(Network *net, SwitchID src, SwitchID dest,
-                  const NetDest& routing_table_entry, 
-                  bool isReconfiguration);
+                  const NetDest& routing_table_entry);
 
     NodeID m_nodes;
     uint32_t m_number_of_switches;
diff -r 52679402e09c -r 5aed42e54180 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Fri Jun 
28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Fri Jun 
28 21:36:37 2013 -0500
@@ -88,8 +88,7 @@
         ni->addNode(m_toNetQueues[i], m_fromNetQueues[i]);
         m_ni_ptr_vector.push_back(ni);
     }
-    // false because this isn't a reconfiguration
-    m_topology_ptr->createLinks(this, false);
+    m_topology_ptr->createLinks(this);
 
     // initialize the link's network pointers
    for (vector<NetworkLink_d*>::const_iterator i = m_link_ptr_vector.begin();
@@ -150,26 +149,19 @@
 void
 GarnetNetwork_d::makeInLink(NodeID src, SwitchID dest, BasicLink* link,
                             LinkDirection direction,
-                            const NetDest& routing_table_entry,
-                            bool isReconfiguration)
+                            const NetDest& routing_table_entry)
 {
     assert(src < m_nodes);
 
     GarnetExtLink_d* garnet_link = safe_cast<GarnetExtLink_d*>(link);
+    NetworkLink_d* net_link = garnet_link->m_network_links[direction];
+    CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
 
-    if (!isReconfiguration) {
-        NetworkLink_d* net_link = garnet_link->m_network_links[direction];
-        CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
+    m_link_ptr_vector.push_back(net_link);
+    m_creditlink_ptr_vector.push_back(credit_link);
 
-        m_link_ptr_vector.push_back(net_link);
-        m_creditlink_ptr_vector.push_back(credit_link);
-
-        m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
-        m_ni_ptr_vector[src]->addOutPort(net_link, credit_link);
-    } else {
-        panic("Fatal Error:: Reconfiguration not allowed here");
-        // do nothing
-    }
+    m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
+    m_ni_ptr_vector[src]->addOutPort(net_link, credit_link);
 }
 
 /*
@@ -181,30 +173,22 @@
 void
 GarnetNetwork_d::makeOutLink(SwitchID src, NodeID dest, BasicLink* link,
                              LinkDirection direction,
-                             const NetDest& routing_table_entry,
-                             bool isReconfiguration)
+                             const NetDest& routing_table_entry)
 {
     assert(dest < m_nodes);
     assert(src < m_router_ptr_vector.size());
     assert(m_router_ptr_vector[src] != NULL);
 
     GarnetExtLink_d* garnet_link = safe_cast<GarnetExtLink_d*>(link);
+    NetworkLink_d* net_link = garnet_link->m_network_links[direction];
+    CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
 
-    if (!isReconfiguration) {
-        NetworkLink_d* net_link = garnet_link->m_network_links[direction];
-        CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
+    m_link_ptr_vector.push_back(net_link);
+    m_creditlink_ptr_vector.push_back(credit_link);
 
-        m_link_ptr_vector.push_back(net_link);
-        m_creditlink_ptr_vector.push_back(credit_link);
-
-        m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
-                                             link->m_weight, 
-                                             credit_link);
-        m_ni_ptr_vector[dest]->addInPort(net_link, credit_link);
-    } else {
-        fatal("Fatal Error:: Reconfiguration not allowed here");
-        // do nothing
-    }
+    m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
+                                         link->m_weight, credit_link);
+    m_ni_ptr_vector[dest]->addInPort(net_link, credit_link);
 }
 
 /*
@@ -214,26 +198,18 @@
 void
 GarnetNetwork_d::makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
                                   LinkDirection direction,
-                                  const NetDest& routing_table_entry,
-                                  bool isReconfiguration)
+                                  const NetDest& routing_table_entry)
 {
     GarnetIntLink_d* garnet_link = safe_cast<GarnetIntLink_d*>(link);
+    NetworkLink_d* net_link = garnet_link->m_network_links[direction];
+    CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
 
-    if (!isReconfiguration) {
-        NetworkLink_d* net_link = garnet_link->m_network_links[direction];
-        CreditLink_d* credit_link = garnet_link->m_credit_links[direction];
+    m_link_ptr_vector.push_back(net_link);
+    m_creditlink_ptr_vector.push_back(credit_link);
 
-        m_link_ptr_vector.push_back(net_link);
-        m_creditlink_ptr_vector.push_back(credit_link);
-
-        m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
-        m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
-                                             link->m_weight, 
-                                             credit_link);
-    } else {
-        fatal("Fatal Error:: Reconfiguration not allowed here");
-        // do nothing
-    }
+    m_router_ptr_vector[dest]->addInPort(net_link, credit_link);
+    m_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry,
+                                         link->m_weight, credit_link);
 }
 
 void
diff -r 52679402e09c -r 5aed42e54180 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh     Fri Jun 
28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh     Fri Jun 
28 21:36:37 2013 -0500
@@ -79,16 +79,13 @@
     // Methods used by Topology to setup the network
     void makeOutLink(SwitchID src, NodeID dest, BasicLink* link, 
                      LinkDirection direction,
-                     const NetDest& routing_table_entry,
-                     bool isReconfiguration);
+                     const NetDest& routing_table_entry);
     void makeInLink(NodeID src, SwitchID dest, BasicLink* link,
                     LinkDirection direction,
-                    const NetDest& routing_table_entry,
-                    bool isReconfiguration);
+                    const NetDest& routing_table_entry);
     void makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link,
                           LinkDirection direction,
-                          const NetDest& routing_table_entry,
-                          bool isReconfiguration);
+                          const NetDest& routing_table_entry);
 
     //! Function for performing a functional write. The return value
     //! indicates the number of messages that were written.
diff -r 52679402e09c -r 5aed42e54180 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    Fri Jun 
28 21:36:11 2013 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    Fri Jun 
28 21:36:37 2013 -0500
@@ -82,8 +82,7 @@
         m_ni_ptr_vector.push_back(ni);
     }
 
-    // false because this isn't a reconfiguration :
-    m_topology_ptr->createLinks(this, false);
+    m_topology_ptr->createLinks(this);
 }
 
 GarnetNetwork::~GarnetNetwork()
@@ -112,69 +111,51 @@
 void
 GarnetNetwork::makeInLink(NodeID src, SwitchID dest, BasicLink* link, 
                           LinkDirection direction, 
-                          const NetDest& routing_table_entry, 
-                          bool isReconfiguration)
+                          const NetDest& routing_table_entry)
 {
     assert(src < m_nodes);
 
     GarnetExtLink* garnet_link = safe_cast<GarnetExtLink*>(link);
+    NetworkLink *net_link = garnet_link->m_network_links[direction];
 
-    if (!isReconfiguration) {
-        NetworkLink *net_link = garnet_link->m_network_links[direction];
-        net_link->init_net_ptr(this);
-        m_link_ptr_vector.push_back(net_link);
-        m_router_ptr_vector[dest]->addInPort(net_link);
-        m_ni_ptr_vector[src]->addOutPort(net_link);
-    }         else {
-        fatal("Fatal Error:: Reconfiguration not allowed here");
-        // do nothing
-    }
+    net_link->init_net_ptr(this);
+    m_link_ptr_vector.push_back(net_link);
+    m_router_ptr_vector[dest]->addInPort(net_link);
+    m_ni_ptr_vector[src]->addOutPort(net_link);
 }
 
 void
 GarnetNetwork::makeOutLink(SwitchID src, NodeID dest, BasicLink* link, 
                            LinkDirection direction, 
-                           const NetDest& routing_table_entry, 
-                           bool isReconfiguration)
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to