On Tue, 23 Apr 2013, Nilay Vaish wrote:

> On Mon, 22 Apr 2013, Marco Elver wrote:
> 
> >On Mon, 22 Apr 2013, Nilay Vaish wrote:
> >
> >>Apply the following patch and report what happens with fixed-pipeline run
> >>you mentioned above.
> >>
> >>diff --git a/src/mem/ruby/system/System.cc b/src/mem/ruby/system/System.cc
> >>--- a/src/mem/ruby/system/System.cc
> >>+++ b/src/mem/ruby/system/System.cc
> >>@@ -381,6 +381,7 @@
> >>         // Restore eventq head
> >>         eventq_head = eventq->replaceHead(eventq_head);
> >>         // Restore curTick and Ruby System's clock
> >>+        assert(curTick() <= curtick_original);
> >>         setCurTick(curtick_original);
> >>         resetClock();
> >>     }
> >>
> >>
> >>--
> >>Nilay
> >>
> >
> >Here is what I get:
> >
> >**** REAL SIMULATION ****
> >info: Entering event queue @ 0.  Starting simulation...
> >gem5.opt: build/X86_MESI_CMP_directory/mem/ruby/system/System.cc:384: 
> >virtual void RubySystem::startup(): Assertion `curTick() <= 
> >curtick_original' failed.
> >Program aborted at cycle 18446744073709551615
> >
> >
> 
> I was expecting this assertion to fail. It means that the time by
> which Ruby managed to restore the state of the system was greater
> than the time when the state of the system was initially recorded.
> Now, this might sound strange to you. If you are interested in
> fixing this, you can read the code and figure out how ruby
> checkpoints and restores state.
> 
> To fix the problem, you can try calling enqueueNextFetchRequest()
> multiple times in the function RubySystem::RubyEvent::process().
> 
> --
> Nilay
>

I have tried calling enqueueNextFetchRequest() in
RubySystem::RubyEvent::process() multiple times, but this does not work.

Your comment in RubySystem::startup() is helpful; I will give fixing
this a shot, but will obviously need more time to read the ruby
checkpointing code. If I find a solution, I will post a patch on the
review-board.

        Marco


-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

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

Reply via email to