----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2845/#review6835 -----------------------------------------------------------
src/mem/ruby/SConscript (line 40) <http://reviews.gem5.org/r/2845/#comment5897> The flag RubyQueue is in use in MessageBuffer.cc. I think we should not add this one. src/mem/ruby/network/MessageBuffer.hh (line 170) <http://reviews.gem5.org/r/2845/#comment5900> const src/mem/ruby/network/MessageBuffer.hh (line 187) <http://reviews.gem5.org/r/2845/#comment5901> const src/mem/ruby/network/MessageBuffer.hh (line 188) <http://reviews.gem5.org/r/2845/#comment5899> const since we are removing the set function. src/mem/ruby/network/MessageBuffer.cc (lines 51 - 54) <http://reviews.gem5.org/r/2845/#comment5902> Let's mark these members are const and have them initialized using initializer list. src/mem/ruby/network/MessageBuffer.py (line 1) <http://reviews.gem5.org/r/2845/#comment5896> 2015 Mark D. Hill and David A. Wood src/mem/ruby/network/simple/SimpleNetwork.py (lines 48 - 77) <http://reviews.gem5.org/r/2845/#comment5903> I read Brad's comment on this function. I think the original choice was right. I don't see why we want to compile this into the binary. If configs/ruby/Ruby.py is becoming a problem, we should just split that file. src/mem/slicc/ast/ObjDeclAST.py (lines 50 - 54) <http://reviews.gem5.org/r/2845/#comment5904> Do we need this code? src/python/swig/pyobject.cc (line 109) <http://reviews.gem5.org/r/2845/#comment5905> Can you confirm that these checks on name1 and name2 are still required? - Nilay Vaish On July 25, 2015, 3:45 p.m., Joel Hestness wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2845/ > ----------------------------------------------------------- > > (Updated July 25, 2015, 3:45 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 10936:85b34fa1e87a > --------------------------- > 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/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 > src/mem/slicc/ast/ObjDeclAST.py cafae9abd4e4 > src/mem/slicc/symbols/StateMachine.py cafae9abd4e4 > src/python/swig/pyobject.cc cafae9abd4e4 > src/mem/ruby/network/simple/SimpleNetwork.py cafae9abd4e4 > src/mem/ruby/network/simple/SimpleNetwork.cc cafae9abd4e4 > src/mem/ruby/network/simple/SimpleNetwork.hh cafae9abd4e4 > src/mem/ruby/network/MessageBuffer.py PRE-CREATION > src/mem/ruby/network/SConscript cafae9abd4e4 > src/mem/ruby/network/simple/PerfectSwitch.cc cafae9abd4e4 > src/mem/ruby/network/MessageBuffer.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 > > 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
