> On Aug. 26, 2012, 2:58 p.m., Steve Reinhardt wrote:
> > This looks like a step in the right direction to me.  IIRC, one of the last 
> > remaining uses for the Ruby event queue was to allow decoupling Ruby from 
> > the rest of the system so that warmup traces could be replayed, which 
> > required advancing time from the Ruby perspective without really advancing 
> > time.  I forgot how (or even if) we ended up solving that.  I assume this 
> > change doesn't affect that issue?

The cache warmup trace is replayed on the main event queue itself.
To start the replay, we change the head pointer of the queue and add an event
for the replaying the trace. Once the replay gets over, the head is put back
in its place. Thus, no events from the rest of the system can interfere while
the replay is on. Similarly, time is also saved and later on restored.

As per my understanding RubyEventQueue was only a wrapper around the main event 
queue.
At least that's how it behaved in the mainline. Its elimination just removes 
that
wrapper (though not completely).


- Nilay


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


On Aug. 20, 2012, 12:01 p.m., Nilay Vaish wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1360/
> -----------------------------------------------------------
> 
> (Updated Aug. 20, 2012, 12:01 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Description
> -------
> 
> Changeset 9160:228050cfc21e
> ---------------------------
> Ruby: Remove RubyEventQueue
> This patch removes RubyEventQueue. Consumer objects now rely on RubySystem
> or themselves for scheduling events.
> 
> 
> Diffs
> -----
> 
>   src/cpu/testers/directedtest/RubyDirectedTester.cc 4c67c26fa76e 
>   src/cpu/testers/rubytest/Check.cc 4c67c26fa76e 
>   src/cpu/testers/rubytest/RubyTester.cc 4c67c26fa76e 
>   src/mem/ruby/buffers/MessageBuffer.hh 4c67c26fa76e 
>   src/mem/ruby/buffers/MessageBuffer.cc 4c67c26fa76e 
>   src/mem/ruby/common/Consumer.hh 4c67c26fa76e 
>   src/mem/ruby/common/Consumer.cc PRE-CREATION 
>   src/mem/ruby/common/Global.hh 4c67c26fa76e 
>   src/mem/ruby/common/Global.cc 4c67c26fa76e 
>   src/mem/ruby/common/SConscript 4c67c26fa76e 
>   src/mem/ruby/common/TypeDefines.hh 4c67c26fa76e 
>   src/mem/ruby/eventqueue/RubyEventQueue.hh 4c67c26fa76e 
>   src/mem/ruby/eventqueue/RubyEventQueue.cc 4c67c26fa76e 
>   src/mem/ruby/eventqueue/RubyEventQueueNode.hh 4c67c26fa76e 
>   src/mem/ruby/eventqueue/RubyEventQueueNode.cc 4c67c26fa76e 
>   src/mem/ruby/eventqueue/SConscript 4c67c26fa76e 
>   src/mem/ruby/network/garnet/BaseGarnetNetwork.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc 
> 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh 4c67c26fa76e 
>   src/mem/ruby/network/garnet/fixed-pipeline/flit_d.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc 
> 4c67c26fa76e 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/flexible-pipeline/Router.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/flexible-pipeline/flit.cc 4c67c26fa76e 
>   src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc 4c67c26fa76e 
>   src/mem/ruby/network/orion/NetworkPower.cc 4c67c26fa76e 
>   src/mem/ruby/network/simple/PerfectSwitch.cc 4c67c26fa76e 
>   src/mem/ruby/network/simple/Throttle.cc 4c67c26fa76e 
>   src/mem/ruby/profiler/Profiler.hh 4c67c26fa76e 
>   src/mem/ruby/profiler/Profiler.cc 4c67c26fa76e 
>   src/mem/ruby/profiler/StoreTrace.hh 4c67c26fa76e 
>   src/mem/ruby/profiler/StoreTrace.cc 4c67c26fa76e 
>   src/mem/ruby/slicc_interface/Message.hh 4c67c26fa76e 
>   src/mem/ruby/slicc_interface/RubySlicc_Util.hh 4c67c26fa76e 
>   src/mem/ruby/system/CacheMemory.hh 4c67c26fa76e 
>   src/mem/ruby/system/CacheMemory.cc 4c67c26fa76e 
>   src/mem/ruby/system/RubyMemoryControl.cc 4c67c26fa76e 
>   src/mem/ruby/system/RubyPort.cc 4c67c26fa76e 
>   src/mem/ruby/system/Sequencer.hh 4c67c26fa76e 
>   src/mem/ruby/system/Sequencer.cc 4c67c26fa76e 
>   src/mem/ruby/system/System.hh 4c67c26fa76e 
>   src/mem/ruby/system/System.cc 4c67c26fa76e 
>   src/mem/ruby/system/TimerTable.hh 4c67c26fa76e 
>   src/mem/ruby/system/TimerTable.cc 4c67c26fa76e 
>   src/mem/ruby/system/WireBuffer.hh 4c67c26fa76e 
>   src/mem/ruby/system/WireBuffer.cc 4c67c26fa76e 
>   src/mem/slicc/ast/AST.py 4c67c26fa76e 
>   src/mem/slicc/ast/FuncCallExprAST.py 4c67c26fa76e 
>   src/mem/slicc/symbols/StateMachine.py 4c67c26fa76e 
>   src/mem/slicc/symbols/Type.py 4c67c26fa76e 
> 
> Diff: http://reviews.gem5.org/r/1360/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Nilay Vaish
> 
>

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

Reply via email to