Hi all,

I found this thread and I am a little confused. Is this patch able to fix
the problem of running with garnet-network=fixed? I also have the same
deadlock problem as Marco had.

Best,
Jia

On Tue, Apr 23, 2013 at 8:08 AM, Marco Elver <[email protected]> wrote:

> 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
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to