diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2013-06-28 21:36:37 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2013-06-28 21:36:37 -0500 |
commit | b3980cdb9a511227d5b2eb2d4ba75fde34cb209b (patch) | |
tree | 08cf6c59e320d644213f13b50449a2701d962051 /src/mem/ruby/network/garnet | |
parent | 62a93f0bf03385c5ed298b740162b06022f2e2ee (diff) | |
download | gem5-b3980cdb9a511227d5b2eb2d4ba75fde34cb209b.tar.xz |
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 (limited to 'src/mem/ruby/network/garnet')
4 files changed, 51 insertions, 100 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc index 4b1e0d0d7..491a413b4 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc @@ -88,8 +88,7 @@ GarnetNetwork_d::init() 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 @@ GarnetNetwork_d::reset() 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 @@ GarnetNetwork_d::makeInLink(NodeID src, SwitchID dest, BasicLink* link, 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 @@ GarnetNetwork_d::makeOutLink(SwitchID src, NodeID dest, BasicLink* link, 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 --git a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh index 912bbb955..9c2cc63bf 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh +++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh @@ -79,16 +79,13 @@ class GarnetNetwork_d : public BaseGarnetNetwork // 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 --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc index ee54dc2c5..77444204e 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc @@ -82,8 +82,7 @@ GarnetNetwork::init() 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 @@ GarnetNetwork::reset() 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) + const NetDest& routing_table_entry) { assert(dest < m_nodes); assert(src < m_router_ptr_vector.size()); assert(m_router_ptr_vector[src] != NULL); 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[src]->addOutPort(net_link, routing_table_entry, - link->m_weight); - m_ni_ptr_vector[dest]->addInPort(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[src]->addOutPort(net_link, routing_table_entry, + link->m_weight); + m_ni_ptr_vector[dest]->addInPort(net_link); } void GarnetNetwork::makeInternalLink(SwitchID src, SwitchID dest, BasicLink* link, LinkDirection direction, - const NetDest& routing_table_entry, - bool isReconfiguration) + const NetDest& routing_table_entry) { GarnetIntLink* garnet_link = safe_cast<GarnetIntLink*>(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_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry, - link->m_weight); - } 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_router_ptr_vector[src]->addOutPort(net_link, routing_table_entry, + link->m_weight); } diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh index 1db4c9874..60f3f8b4e 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh +++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh @@ -70,16 +70,13 @@ class GarnetNetwork : public BaseGarnetNetwork // 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 read. The return value //! indicates if a message was found that had the required address. |