> On July 22, 2015, 5:10 p.m., Brad Beckmann wrote: > > Joel, your intention with this patch is to completely replace patches > > http://reviews.gem5.org/r/2801/ and http://reviews.gem5.org/r/2814/, > > correct? > > > > Hopefully we can resolve the last couple of issues on this patch and you > > can check it in soon. I'd like to add the finite buffer configs on top of > > it, as well as simple way to fallback on infinite buffers, similar to the > > kill switch added by 2801. > > > > Thanks
Hi Brad. I believe this patch does everything that http://reviews.gem5.org/r/2801/ and http://reviews.gem5.org/r/2814/ aimed to provide (but configurable in Python). I've updated this patch with your remaining feedback and reposted it. - Joel ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2845/#review6811 ----------------------------------------------------------- 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
