----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2987/ -----------------------------------------------------------
(Updated Sept. 19, 2015, 12:32 a.m.) Review request for Default. Summary (updated) ----------------- ruby: consumer: move away from Consumer class Repository: gem5 Description (updated) ------- Changeset 11136:c4c3b2f0e36b --------------------------- ruby: consumer: move away from Consumer class Objects in ruby memory system typically inherit from the Consumer class that provides support for scheduling events. The Consumer class maintains a std::set of times at which events have been posted by the Derived class object. Typically this causes a lot of overhead. Secondly, the objects schedule events that are very coarse grained. This patch reduces ruby memory system's reliance on the Consumer class. The patch changes the objects in the Network and the generated code for Controllers in a significant way. The generated controllers would now schedule events for individual input ports and not for the entire controller itself. Similarly, PerfectSwitch and Throttle would now schedule events on individual message buffers and not for the entire object. This avoids looking at buffers that do not have any message pending. Diffs (updated) ----- src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc 5e6d088f2e7c src/mem/ruby/network/garnet/flexible-pipeline/Router.cc 5e6d088f2e7c src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh 5e6d088f2e7c src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc 5e6d088f2e7c src/mem/ruby/network/simple/PerfectSwitch.hh 5e6d088f2e7c src/mem/ruby/network/simple/PerfectSwitch.cc 5e6d088f2e7c src/mem/ruby/network/simple/Throttle.hh 5e6d088f2e7c src/mem/ruby/network/simple/Throttle.cc 5e6d088f2e7c src/mem/ruby/slicc_interface/AbstractController.hh 5e6d088f2e7c src/mem/ruby/slicc_interface/AbstractController.cc 5e6d088f2e7c src/mem/ruby/slicc_interface/Message.hh 5e6d088f2e7c src/mem/ruby/structures/RubyMemoryControl.hh 5e6d088f2e7c src/mem/ruby/structures/RubyMemoryControl.cc 5e6d088f2e7c src/mem/ruby/structures/TimerTable.hh 5e6d088f2e7c src/mem/ruby/structures/TimerTable.cc 5e6d088f2e7c src/mem/slicc/ast/FuncCallExprAST.py 5e6d088f2e7c src/mem/slicc/ast/IfStatementAST.py 5e6d088f2e7c src/mem/slicc/ast/InPortDeclAST.py 5e6d088f2e7c src/mem/slicc/symbols/StateMachine.py 5e6d088f2e7c src/mem/ruby/network/MessageBuffer.hh 5e6d088f2e7c src/mem/ruby/network/MessageBuffer.cc 5e6d088f2e7c src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh 5e6d088f2e7c src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc 5e6d088f2e7c src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh 5e6d088f2e7c src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc 5e6d088f2e7c src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh 5e6d088f2e7c src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc 5e6d088f2e7c src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh 5e6d088f2e7c src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc 5e6d088f2e7c src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh 5e6d088f2e7c Diff: http://reviews.gem5.org/r/2987/diff/ Testing ------- Thanks, Nilay Vaish _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
