diff options
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc')
-rw-r--r-- | src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc | 24 |
1 files changed, 14 insertions, 10 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 2a2536d53..3cda065ad 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc @@ -30,11 +30,15 @@ #include <cmath> +#include "base/stl_helpers.hh" #include "mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh" #include "mem/ruby/buffers/MessageBuffer.hh" #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh" #include "mem/ruby/slicc_interface/NetworkMessage.hh" +using namespace std; +using m5::stl_helpers::deletePointers; + NetworkInterface_d::NetworkInterface_d(int id, int virtual_networks, GarnetNetwork_d *network_ptr) { m_id = id; @@ -44,10 +48,10 @@ NetworkInterface_d::NetworkInterface_d(int id, int virtual_networks, GarnetNetwo m_num_vcs = m_vc_per_vnet*m_virtual_networks; m_vc_round_robin = 0; - m_ni_buffers.setSize(m_num_vcs); - m_ni_enqueue_time.setSize(m_num_vcs); - inNode_ptr.setSize(m_virtual_networks); - outNode_ptr.setSize(m_virtual_networks); + m_ni_buffers.resize(m_num_vcs); + m_ni_enqueue_time.resize(m_num_vcs); + inNode_ptr.resize(m_virtual_networks); + outNode_ptr.resize(m_virtual_networks); creditQueue = new flitBuffer_d(); for(int i =0; i < m_num_vcs; i++) @@ -55,7 +59,7 @@ NetworkInterface_d::NetworkInterface_d(int id, int virtual_networks, GarnetNetwo m_ni_buffers[i] = new flitBuffer_d(); // instantiating the NI flit buffers m_ni_enqueue_time[i] = INFINITE_; } - m_vc_allocator.setSize(m_virtual_networks); // 1 allocator per virtual net + m_vc_allocator.resize(m_virtual_networks); // 1 allocator per virtual net for(int i = 0; i < m_virtual_networks; i++) { m_vc_allocator[i] = 0; @@ -63,15 +67,15 @@ NetworkInterface_d::NetworkInterface_d(int id, int virtual_networks, GarnetNetwo for(int i = 0; i < m_num_vcs; i++) { - m_out_vc_state.insertAtBottom(new OutVcState_d(i, m_net_ptr)); + m_out_vc_state.push_back(new OutVcState_d(i, m_net_ptr)); m_out_vc_state[i]->setState(IDLE_, g_eventQueue_ptr->getTime()); } } NetworkInterface_d::~NetworkInterface_d() { - m_out_vc_state.deletePointers(); - m_ni_buffers.deletePointers(); + deletePointers(m_out_vc_state); + deletePointers(m_ni_buffers); delete creditQueue; delete outSrcQueue; } @@ -94,7 +98,7 @@ void NetworkInterface_d::addOutPort(NetworkLink_d *out_link, CreditLink_d *credi out_link->setSourceQueue(outSrcQueue); } -void NetworkInterface_d::addNode(Vector<MessageBuffer*>& in, Vector<MessageBuffer*>& out) +void NetworkInterface_d::addNode(vector<MessageBuffer*>& in, vector<MessageBuffer*>& out) { ASSERT(in.size() == m_virtual_networks); inNode_ptr = in; @@ -110,7 +114,7 @@ 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(); - Vector<NodeID> dest_nodes = net_msg_dest.getAllDest(); // gets all the destinations associated with this message. + vector<NodeID> dest_nodes = net_msg_dest.getAllDest(); // gets all the destinations associated with this message. int num_flits = (int) ceil((double) m_net_ptr->MessageSizeType_to_int(net_msg_ptr->getMessageSize())/m_net_ptr->getFlitSize() ); // Number of flits is dependent on the link bandwidth available. This is expressed in terms of bytes/cycle or the flit size |