-----------------------------------------------------------
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

Reply via email to