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


Joel, I am of the view that we should eliminate ruby's internal
numbering instead. The cntrl_id is something that appears in
the config.ini file and hence is visible to the user. But ruby's
internal numbering of controllers never gets exposed.

- Nilay Vaish


On June 30, 2013, 5:47 p.m., Joel Hestness wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1941/
> -----------------------------------------------------------
> 
> (Updated June 30, 2013, 5:47 p.m.)
> 
> 
> 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