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
