> On June 27, 2015, 4:58 p.m., Nilay Vaish wrote:
> > Please post a snippet of the config.ini file generated after this patch is 
> > applied.

Here are some example MessageBuffers in the resulting MESI_Two_Level config.ini 
files:
 
L1 Controller:
>[system.ruby.l1_cntrl0.mandatoryQueue]
>type=MessageBuffer
>buffer_size=0
>eventq_index=0
>ordered=false
>randomization=false
>recycle_latency=10
>
>[system.ruby.l1_cntrl0.responseFromL1Cache]
>type=MessageBuffer
>buffer_size=0
>eventq_index=0
>ordered=false
>randomization=false
>recycle_latency=10
>master=system.ruby.network.slave[1]
>
>[system.ruby.l1_cntrl0.responseToL1Cache]
>type=MessageBuffer
>buffer_size=0
>eventq_index=0
>ordered=false
>randomization=false
>recycle_latency=10
>slave=system.ruby.network.master[1]

Network link buffers:
>[system.ruby.network.int_link_buffers01]
>type=MessageBuffer
>buffer_size=0
>eventq_index=0
>ordered=true
>randomization=false
>recycle_latency=0


- Joel


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


On July 24, 2015, 11:30 p.m., Joel Hestness wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2845/
> -----------------------------------------------------------
> 
> (Updated July 24, 2015, 11:30 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 10936:2c16b97ba251
> ---------------------------
> ruby: Expose MessageBuffers as SimObjects
> 
> Expose MessageBuffers from SLICC controllers as SimObjects that can be
> manipulated in Python. This patch has numerous benefits:
> 1) First and foremost, it exposes MessageBuffers as SimObjects that can be
> manipulated in Python code. This allows parameters to be set and checked in
> Python code to avoid obfuscating parameters within protocol files. Further, 
> now
> as SimObjects, MessageBuffer parameters are printed to config output files as 
> a
> way to track parameters across simulations (e.g. buffer sizes)
> 
> 2) Cleans up special-case code for responseFromMemory buffers, and aligns 
> their
> instantiation and use with mandatoryQueue buffers. These two special buffers
> are the only MessageBuffers that are exposed to components outside of SLICC
> controllers, and they're both slave ends of these buffers. They should be
> exposed outside of SLICC in the same way, and this patch does it.
> 
> 3) Distinguishes buffer-specific parameters from buffer-to-network parameters.
> Specifically, buffer size, randomization, ordering, recycle latency, and ports
> are all specific to a MessageBuffer, while the virtual network ID and type are
> intrinsics of how the buffer is connected to network ports. The former are
> specified in the Python object, while the latter are specified in the
> controller *.sm files. Unlike buffer-specific parameters, which may need to
> change depending on the simulated system structure, buffer-to-network
> parameters can be specified statically for most or all different simulated
> systems.
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/network/SConscript cafae9abd4e4 
>   src/mem/ruby/network/simple/PerfectSwitch.cc cafae9abd4e4 
>   src/mem/ruby/network/simple/SimpleNetwork.hh cafae9abd4e4 
>   src/mem/ruby/network/simple/SimpleNetwork.cc cafae9abd4e4 
>   src/mem/ruby/network/simple/SimpleNetwork.py cafae9abd4e4 
>   src/mem/ruby/network/simple/Switch.hh cafae9abd4e4 
>   src/mem/ruby/network/simple/Switch.cc cafae9abd4e4 
>   src/mem/ruby/network/simple/Throttle.cc cafae9abd4e4 
>   src/mem/ruby/slicc_interface/AbstractController.hh cafae9abd4e4 
>   src/mem/ruby/slicc_interface/AbstractController.cc cafae9abd4e4 
>   configs/ruby/Ruby.py cafae9abd4e4 
>   src/mem/protocol/RubySlicc_Defines.sm cafae9abd4e4 
>   src/mem/ruby/SConscript cafae9abd4e4 
>   src/mem/ruby/network/MessageBuffer.hh cafae9abd4e4 
>   src/mem/ruby/network/MessageBuffer.cc cafae9abd4e4 
>   src/mem/ruby/network/MessageBuffer.py PRE-CREATION 
>   src/mem/slicc/ast/ObjDeclAST.py cafae9abd4e4 
>   src/mem/slicc/symbols/StateMachine.py cafae9abd4e4 
>   src/python/swig/pyobject.cc cafae9abd4e4 
> 
> Diff: http://reviews.gem5.org/r/2845/diff/
> 
> 
> Testing
> -------
> 
> Regression tests with all Ruby protocols. Protocol file changes are in
> separate patch (http://reviews.gem5.org/r/2844/) to keep this one slim.
> 
> 
> Thanks,
> 
> Joel Hestness
> 
>

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

Reply via email to