PerfectSwitch.cc (6288:083a6806dd96) PerfectSwitch.cc (6372:f1a41ea3bbab)
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 74 unchanged lines hidden (view full) ---

83 l.m_value = 0;
84 l.m_link = m_out.size();
85 m_link_order.insertAtBottom(l);
86
87 // Add to routing table
88 m_out.insertAtBottom(out);
89 m_routing_table.insertAtBottom(routing_table_entry);
90
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 74 unchanged lines hidden (view full) ---

83 l.m_value = 0;
84 l.m_link = m_out.size();
85 m_link_order.insertAtBottom(l);
86
87 // Add to routing table
88 m_out.insertAtBottom(out);
89 m_routing_table.insertAtBottom(routing_table_entry);
90
91 // if (RubyConfig::getPrintTopology()) {
92 m_out_link_vec.insertAtBottom(out);
93 // }
91 m_out_link_vec.insertAtBottom(out);
94}
95
96void PerfectSwitch::clearRoutingTables()
97{
98 m_routing_table.clear();
99}
100
101void PerfectSwitch::clearBuffers()

--- 80 unchanged lines hidden (view full) ---

182
183 // Unfortunately, the token-protocol sends some
184 // zero-destination messages, so this assert isn't valid
185 // assert(msg_destinations.count() > 0);
186
187 assert(m_link_order.size() == m_routing_table.size());
188 assert(m_link_order.size() == m_out.size());
189//changed by SS
92}
93
94void PerfectSwitch::clearRoutingTables()
95{
96 m_routing_table.clear();
97}
98
99void PerfectSwitch::clearBuffers()

--- 80 unchanged lines hidden (view full) ---

180
181 // Unfortunately, the token-protocol sends some
182 // zero-destination messages, so this assert isn't valid
183 // assert(msg_destinations.count() > 0);
184
185 assert(m_link_order.size() == m_routing_table.size());
186 assert(m_link_order.size() == m_out.size());
187//changed by SS
190// if (RubyConfig::getAdaptiveRouting()) {
191 if (m_network_ptr->getAdaptiveRouting()) {
192 if (m_network_ptr->isVNetOrdered(vnet)) {
193 // Don't adaptively route
194 for (int outlink=0; outlink<m_out.size(); outlink++) {
195 m_link_order[outlink].m_link = outlink;
196 m_link_order[outlink].m_value = 0;
197 }
198 } else {

--- 121 unchanged lines hidden ---
188 if (m_network_ptr->getAdaptiveRouting()) {
189 if (m_network_ptr->isVNetOrdered(vnet)) {
190 // Don't adaptively route
191 for (int outlink=0; outlink<m_out.size(); outlink++) {
192 m_link_order[outlink].m_link = outlink;
193 m_link_order[outlink].m_value = 0;
194 }
195 } else {

--- 121 unchanged lines hidden ---