-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/1941/
-----------------------------------------------------------

Review request for Default.


Repository: gem5


Description
-------

Changeset 9803:749372538449
---------------------------
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.


Diffs
-----

  src/mem/ruby/network/Topology.cc 04414c223a6a 

Diff: http://reviews.gem5.org/r/1941/diff/


Testing
-------

Ran all Ruby regressions and observed no stats changes. It should be noted that
more complicated SimpleNetwork topologies connecting numerous components will
very likely witness throttle connection changes, which can cause changes in
network performance, especially with throttle bandwidth_factor of 16B/cycle.

It should also be noted that this patch removes the last hard dependency on the
use of cntrl_ids in all Ruby code. Based on the potential confusion between
Ruby's generated unique IDs and cntrl_ids, I recommend that cntrl_ids eventually
be eliminated from the codebase.


Thanks,

Joel Hestness

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to