changeset 9441ca79f3c8 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=9441ca79f3c8
description:
        ruby: network: move routers from topology to network

diffstat:

 configs/ruby/Ruby.py                                           |  11 ++++-----
 src/mem/ruby/network/Network.py                                |   5 +--
 src/mem/ruby/network/Topology.cc                               |   2 +-
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc  |   6 +---
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc |   5 +--
 src/mem/ruby/network/simple/SimpleNetwork.cc                   |   5 +--
 6 files changed, 14 insertions(+), 20 deletions(-)

diffs (113 lines):

diff -r e63321487404 -r 9441ca79f3c8 configs/ruby/Ruby.py
--- a/configs/ruby/Ruby.py      Wed Mar 20 06:41:23 2013 -0400
+++ b/configs/ruby/Ruby.py      Fri Mar 22 15:53:22 2013 -0500
@@ -149,18 +149,17 @@
     routers, int_links, ext_links = topology.makeTopology(options,
                                     IntLinkClass, ExtLinkClass, RouterClass)
 
-    net_topology.routers = routers
+    net_topology.num_routers = len(routers)
     net_topology.int_links = int_links
     net_topology.ext_links = ext_links
 
+    network = NetworkClass(ruby_system = ruby, topology = net_topology,
+                           routers = routers)
 
     if options.network_fault_model:
         assert(options.garnet_network == "fixed")
-        fault_model = FaultModel()
-        network = NetworkClass(ruby_system = ruby, topology = net_topology,\
-                               enable_fault_model=True, fault_model = 
fault_model)
-    else:
-        network = NetworkClass(ruby_system = ruby, topology = net_topology)
+        network.enable_fault_model = True
+        network.fault_model = FaultModel()
 
     #
     # Loop through the directory controlers.
diff -r e63321487404 -r 9441ca79f3c8 src/mem/ruby/network/Network.py
--- a/src/mem/ruby/network/Network.py   Wed Mar 20 06:41:23 2013 -0400
+++ b/src/mem/ruby/network/Network.py   Fri Mar 22 15:53:22 2013 -0500
@@ -37,11 +37,9 @@
     cxx_header = "mem/ruby/network/Topology.hh"
     description = Param.String("Not Specified",
                                "the name of the imported topology module")
+    num_routers = Param.UInt32("Number of routers in the network")
     ext_links = VectorParam.BasicExtLink("Links to external nodes")
     int_links = VectorParam.BasicIntLink("Links between internal nodes")
-    routers = VectorParam.BasicRouter("Network routers")
-    print_config = Param.Bool(False,
-        "display topology config in the stats file")
 
 class RubyNetwork(ClockedObject):
     type = 'RubyNetwork'
@@ -52,3 +50,4 @@
     topology = Param.Topology("");
     control_msg_size = Param.Int(8, "");
     ruby_system = Param.RubySystem("");
+    routers = VectorParam.BasicRouter("Network routers")
diff -r e63321487404 -r 9441ca79f3c8 src/mem/ruby/network/Topology.cc
--- a/src/mem/ruby/network/Topology.cc  Wed Mar 20 06:41:23 2013 -0400
+++ b/src/mem/ruby/network/Topology.cc  Fri Mar 22 15:53:22 2013 -0500
@@ -61,7 +61,7 @@
 Topology::Topology(const Params *p)
     : SimObject(p)
 {
-    m_number_of_switches = p->routers.size();
+    m_number_of_switches = p->num_routers;
 
     // initialize component latencies record
     m_component_latencies.resize(0);
diff -r e63321487404 -r 9441ca79f3c8 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Wed Mar 
20 06:41:23 2013 -0400
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Fri Mar 
22 15:53:22 2013 -0500
@@ -59,9 +59,8 @@
     }
 
     // record the routers
-    for (vector<BasicRouter*>::const_iterator i = 
-             m_topology_ptr->params()->routers.begin();
-         i != m_topology_ptr->params()->routers.end(); ++i) {
+    for (vector<BasicRouter*>::const_iterator i =  p->routers.begin();
+         i != p->routers.end(); ++i) {
         Router_d* router = safe_cast<Router_d*>(*i);
         m_router_ptr_vector.push_back(router);
     }
@@ -115,7 +114,6 @@
             router->printFaultVector(cout);
         }
     }
-
 }
 
 GarnetNetwork_d::~GarnetNetwork_d()
diff -r e63321487404 -r 9441ca79f3c8 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    Wed Mar 
20 06:41:23 2013 -0400
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    Fri Mar 
22 15:53:22 2013 -0500
@@ -53,9 +53,8 @@
     m_number_of_pipe_stages = p->number_of_pipe_stages;
 
     // record the routers
-    for (vector<BasicRouter*>::const_iterator i = 
-             m_topology_ptr->params()->routers.begin();
-         i != m_topology_ptr->params()->routers.end(); ++i) {
+    for (vector<BasicRouter*>::const_iterator i = p->routers.begin();
+         i != p->routers.end(); ++i) {
         Router* router = safe_cast<Router*>(*i);
         m_router_ptr_vector.push_back(router);
     }
diff -r e63321487404 -r 9441ca79f3c8 
src/mem/ruby/network/simple/SimpleNetwork.cc
--- a/src/mem/ruby/network/simple/SimpleNetwork.cc      Wed Mar 20 06:41:23 
2013 -0400
+++ b/src/mem/ruby/network/simple/SimpleNetwork.cc      Fri Mar 22 15:53:22 
2013 -0500
@@ -80,9 +80,8 @@
     }
 
     // record the routers
-    for (vector<BasicRouter*>::const_iterator i =
-             m_topology_ptr->params()->routers.begin();
-         i != m_topology_ptr->params()->routers.end(); ++i) {
+    for (vector<BasicRouter*>::const_iterator i = p->routers.begin();
+         i != p->routers.end(); ++i) {
         Switch* s = safe_cast<Switch*>(*i);
         m_switch_ptr_vector.push_back(s);
         s->init_net_ptr(this);
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to