changeset a204694db4f9 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=a204694db4f9
description:
        ruby: Fix Topology throttle connections

        The Topology source sets up input and output buffers for each of the 
external
        nodes of a topology by indexing on Ruby's generated controller unique 
IDs.
        These unique IDs are found by adding the MachineType_base_number to the 
version
        number of each controller (see any generated *_Controller.cc - init() 
calls
        getToNetQueue and getFromNetQueue using m_version + base). However, the
        Topology object used the cntrl_id - which is required to be unique 
across all
        controllers - to index the controllers list as they are being connected 
to
        their input and output buffers. If the cntrl_ids did not match the Ruby 
unique
        ID, the throttles end up connected to incorrectly indexed nodes in the 
network,
        resulting in packets traversing incorrect network paths. This patch 
fixes the
        Topology indexing scheme by using the Ruby unique ID to match that of 
the
        SimpleNetwork buffer vectors.

diffstat:

 src/mem/ruby/network/Topology.cc |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (14 lines):

diff -r 44a67004d6b4 -r a204694db4f9 src/mem/ruby/network/Topology.cc
--- a/src/mem/ruby/network/Topology.cc  Wed Sep 11 15:34:50 2013 -0500
+++ b/src/mem/ruby/network/Topology.cc  Wed Sep 11 15:35:18 2013 -0500
@@ -89,7 +89,9 @@
         // Store the ExtLink pointers for later
         m_ext_link_vector.push_back(ext_link);
 
-        int ext_idx1 = abs_cntrl->params()->cntrl_id;
+        int machine_base_idx = MachineType_base_number(
+                string_to_MachineType(abs_cntrl->getName()));
+        int ext_idx1 = machine_base_idx + abs_cntrl->getVersion();
         int ext_idx2 = ext_idx1 + m_nodes;
         int int_idx = router->params()->router_id + 2*m_nodes;
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to