diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2015-07-04 10:43:46 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2015-07-04 10:43:46 -0500 |
commit | 16ac48e6a419b75e6a9e86fab9cd2fd62ef9a574 (patch) | |
tree | 3b4753b480fb2b6cb8ff35680d72990831a4be44 /src/mem/ruby/network | |
parent | baa3eb0de3b2b0f4a7edf35c5d165b11d1d95872 (diff) | |
download | gem5-16ac48e6a419b75e6a9e86fab9cd2fd62ef9a574.tar.xz |
ruby: drop NetworkMessage class
This patch drops the NetworkMessage class. The relevant data members and functions
have been moved to the Message class, which was the parent of NetworkMessage.
Diffstat (limited to 'src/mem/ruby/network')
8 files changed, 29 insertions, 35 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc index 47ded231c..c7bd6178a 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc @@ -37,7 +37,7 @@ #include "mem/ruby/network/MessageBuffer.hh" #include "mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh" #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh" -#include "mem/ruby/slicc_interface/NetworkMessage.hh" +#include "mem/ruby/slicc_interface/Message.hh" using namespace std; using m5::stl_helpers::deletePointers; @@ -129,8 +129,8 @@ NetworkInterface_d::addNode(vector<MessageBuffer *>& in, bool NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet) { - NetworkMessage *net_msg_ptr = safe_cast<NetworkMessage *>(msg_ptr.get()); - NetDest net_msg_dest = net_msg_ptr->getInternalDestination(); + Message *net_msg_ptr = msg_ptr.get(); + NetDest net_msg_dest = net_msg_ptr->getDestination(); // gets all the destinations associated with this message. vector<NodeID> dest_nodes = net_msg_dest.getAllDest(); @@ -152,8 +152,7 @@ NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet) MsgPtr new_msg_ptr = msg_ptr->clone(); NodeID destID = dest_nodes[ctr]; - NetworkMessage *new_net_msg_ptr = - safe_cast<NetworkMessage *>(new_msg_ptr.get()); + Message *new_net_msg_ptr = new_msg_ptr.get(); if (dest_nodes.size() > 1) { NetDest personal_dest; for (int m = 0; m < (int) MachineType_NUM; m++) { @@ -163,7 +162,7 @@ NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet) personal_dest.clear(); personal_dest.add((MachineID) {(MachineType) m, (destID - MachineType_base_number((MachineType) m))}); - new_net_msg_ptr->getInternalDestination() = personal_dest; + new_net_msg_ptr->getDestination() = personal_dest; break; } } @@ -171,7 +170,7 @@ NetworkInterface_d::flitisizeMessage(MsgPtr msg_ptr, int vnet) // removing the destination from the original message to reflect // that a message with this particular destination has been // flitisized and an output vc is acquired - net_msg_ptr->getInternalDestination().removeNetDest(personal_dest); + net_msg_ptr->getDestination().removeNetDest(personal_dest); } for (int i = 0; i < num_flits; i++) { diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh index 0cb928d82..812e8b7fb 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh +++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh @@ -43,7 +43,6 @@ #include "mem/ruby/slicc_interface/Message.hh" #include "params/GarnetNetworkInterface_d.hh" -class NetworkMessage; class MessageBuffer; class flitBuffer_d; diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc index e68c08613..8d8378738 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc @@ -32,7 +32,7 @@ #include "mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh" #include "mem/ruby/network/garnet/fixed-pipeline/Router_d.hh" #include "mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.hh" -#include "mem/ruby/slicc_interface/NetworkMessage.hh" +#include "mem/ruby/slicc_interface/Message.hh" RoutingUnit_d::RoutingUnit_d(Router_d *router) { @@ -66,8 +66,8 @@ int RoutingUnit_d::routeCompute(flit_d *t_flit) { MsgPtr msg_ptr = t_flit->get_msg_ptr(); - NetworkMessage* net_msg_ptr = safe_cast<NetworkMessage *>(msg_ptr.get()); - NetDest msg_destination = net_msg_ptr->getInternalDestination(); + Message *net_msg_ptr = msg_ptr.get(); + NetDest msg_destination = net_msg_ptr->getDestination(); int output_link = -1; int min_weight = INFINITE_; diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc b/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc index 32066f0e1..d834ea1a3 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc +++ b/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc @@ -37,7 +37,7 @@ #include "mem/ruby/network/MessageBuffer.hh" #include "mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh" #include "mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh" -#include "mem/ruby/slicc_interface/NetworkMessage.hh" +#include "mem/ruby/slicc_interface/Message.hh" using namespace std; using m5::stl_helpers::deletePointers; @@ -120,8 +120,8 @@ NetworkInterface::request_vc(int in_vc, int in_port, NetDest destination, bool NetworkInterface::flitisizeMessage(MsgPtr msg_ptr, int vnet) { - NetworkMessage *net_msg_ptr = safe_cast<NetworkMessage *>(msg_ptr.get()); - NetDest net_msg_dest = net_msg_ptr->getInternalDestination(); + Message *net_msg_ptr = msg_ptr.get(); + NetDest net_msg_dest = net_msg_ptr->getDestination(); // get all the destinations associated with this message. vector<NodeID> dest_nodes = net_msg_dest.getAllDest(); @@ -143,8 +143,7 @@ NetworkInterface::flitisizeMessage(MsgPtr msg_ptr, int vnet) MsgPtr new_msg_ptr = msg_ptr->clone(); NodeID destID = dest_nodes[ctr]; - NetworkMessage *new_net_msg_ptr = - safe_cast<NetworkMessage *>(new_msg_ptr.get()); + Message *new_net_msg_ptr = new_msg_ptr.get(); if (dest_nodes.size() > 1) { NetDest personal_dest; for (int m = 0; m < (int) MachineType_NUM; m++) { @@ -154,7 +153,7 @@ NetworkInterface::flitisizeMessage(MsgPtr msg_ptr, int vnet) personal_dest.clear(); personal_dest.add((MachineID) {(MachineType) m, (destID - MachineType_base_number((MachineType) m))}); - new_net_msg_ptr->getInternalDestination() = personal_dest; + new_net_msg_ptr->getDestination() = personal_dest; break; } } @@ -163,7 +162,7 @@ NetworkInterface::flitisizeMessage(MsgPtr msg_ptr, int vnet) // removing the destination from the original message to reflect // that a message with this particular destination has been // flitisized and an output vc is acquired - net_msg_ptr->getInternalDestination().removeNetDest(personal_dest); + net_msg_ptr->getDestination().removeNetDest(personal_dest); } for (int i = 0; i < num_flits; i++) { m_net_ptr->increment_injected_flits(vnet); @@ -179,7 +178,7 @@ NetworkInterface::flitisizeMessage(MsgPtr msg_ptr, int vnet) // This flit will be ready to traverse the link and into the next hop // only when an output vc is acquired at the next hop outNetLink->request_vc_link( - vc, new_net_msg_ptr->getInternalDestination(), curCycle()); + vc, new_net_msg_ptr->getDestination(), curCycle()); } return true ; diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh b/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh index 03cdf3dc6..9207c353a 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh +++ b/src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh @@ -42,7 +42,6 @@ #include "mem/ruby/slicc_interface/Message.hh" #include "params/GarnetNetworkInterface.hh" -class NetworkMessage; class MessageBuffer; class flitBuffer; diff --git a/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc b/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc index 0fc2c6be3..ef985058e 100644 --- a/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc +++ b/src/mem/ruby/network/garnet/flexible-pipeline/Router.cc @@ -35,7 +35,7 @@ #include "mem/ruby/network/garnet/flexible-pipeline/OutVcState.hh" #include "mem/ruby/network/garnet/flexible-pipeline/Router.hh" #include "mem/ruby/network/garnet/flexible-pipeline/VCarbiter.hh" -#include "mem/ruby/slicc_interface/NetworkMessage.hh" +#include "mem/ruby/slicc_interface/Message.hh" using namespace std; using m5::stl_helpers::deletePointers; @@ -277,9 +277,8 @@ Router::routeCompute(flit *m_flit, int inport) scheduleEvent(Cycles(m_net_ptr->getNumPipeStages() - 1)); if ((m_flit->get_type() == HEAD_) || (m_flit->get_type() == HEAD_TAIL_)) { - NetworkMessage *nm = - safe_cast<NetworkMessage*>(m_flit->get_msg_ptr().get()); - NetDest destination = nm->getInternalDestination(); + Message *nm = m_flit->get_msg_ptr().get(); + NetDest destination = nm->getDestination(); if (m_net_ptr->getNumPipeStages() > 1) { m_out_vc_state[outport][outvc]->setState(VC_AB_, curCycle() + diff --git a/src/mem/ruby/network/simple/PerfectSwitch.cc b/src/mem/ruby/network/simple/PerfectSwitch.cc index 86cafbe15..06072724e 100644 --- a/src/mem/ruby/network/simple/PerfectSwitch.cc +++ b/src/mem/ruby/network/simple/PerfectSwitch.cc @@ -35,7 +35,7 @@ #include "mem/ruby/network/simple/PerfectSwitch.hh" #include "mem/ruby/network/simple/SimpleNetwork.hh" #include "mem/ruby/network/simple/Switch.hh" -#include "mem/ruby/slicc_interface/NetworkMessage.hh" +#include "mem/ruby/slicc_interface/Message.hh" using namespace std; @@ -112,7 +112,7 @@ void PerfectSwitch::operateVnet(int vnet) { MsgPtr msg_ptr; - NetworkMessage* net_msg_ptr = NULL; + Message *net_msg_ptr = NULL; // This is for round-robin scheduling int incoming = m_round_robin_start; @@ -149,12 +149,12 @@ PerfectSwitch::operateVnet(int vnet) // Peek at message msg_ptr = buffer->peekMsgPtr(); - net_msg_ptr = safe_cast<NetworkMessage*>(msg_ptr.get()); + net_msg_ptr = msg_ptr.get(); DPRINTF(RubyNetwork, "Message: %s\n", (*net_msg_ptr)); output_links.clear(); output_link_destinations.clear(); - NetDest msg_dsts = net_msg_ptr->getInternalDestination(); + NetDest msg_dsts = net_msg_ptr->getDestination(); // Unfortunately, the token-protocol sends some // zero-destination messages, so this assert isn't valid @@ -264,8 +264,8 @@ PerfectSwitch::operateVnet(int vnet) // Change the internal destination set of the message so it // knows which destinations this link is responsible for. - net_msg_ptr = safe_cast<NetworkMessage*>(msg_ptr.get()); - net_msg_ptr->getInternalDestination() = + net_msg_ptr = msg_ptr.get(); + net_msg_ptr->getDestination() = output_link_destinations[i]; // Enqeue msg diff --git a/src/mem/ruby/network/simple/Throttle.cc b/src/mem/ruby/network/simple/Throttle.cc index 2da810edb..d722c91ea 100644 --- a/src/mem/ruby/network/simple/Throttle.cc +++ b/src/mem/ruby/network/simple/Throttle.cc @@ -34,7 +34,7 @@ #include "mem/ruby/network/simple/Throttle.hh" #include "mem/ruby/network/MessageBuffer.hh" #include "mem/ruby/network/Network.hh" -#include "mem/ruby/slicc_interface/NetworkMessage.hh" +#include "mem/ruby/slicc_interface/Message.hh" #include "mem/ruby/system/System.hh" using namespace std; @@ -44,7 +44,7 @@ const int MESSAGE_SIZE_MULTIPLIER = 1000; const int BROADCAST_SCALING = 1; const int PRIORITY_SWITCH_LIMIT = 128; -static int network_message_to_size(NetworkMessage* net_msg_ptr); +static int network_message_to_size(Message* net_msg_ptr); Throttle::Throttle(int sID, NodeID node, Cycles link_latency, int link_bandwidth_multiplier, int endpoint_bandwidth, @@ -121,8 +121,7 @@ Throttle::operateVnet(int vnet, int &bw_remaining, bool &schedule_wakeup, if (m_units_remaining[vnet] == 0 && in->isReady()) { // Find the size of the message we are moving MsgPtr msg_ptr = in->peekMsgPtr(); - NetworkMessage* net_msg_ptr = - safe_cast<NetworkMessage*>(msg_ptr.get()); + Message *net_msg_ptr = msg_ptr.get(); m_units_remaining[vnet] += network_message_to_size(net_msg_ptr); @@ -257,7 +256,7 @@ Throttle::print(ostream& out) const } int -network_message_to_size(NetworkMessage* net_msg_ptr) +network_message_to_size(Message *net_msg_ptr) { assert(net_msg_ptr != NULL); |