Tweaked the patch to address the bug that Marco Elver emailed about last
week.  The RubyPort now separates the number of children that need to be
drained from it's own need_drain check.

This should round out all the necessary changes for this patch.  However,
I'm still running into other bugs that should be addressed by Nilay's Ruby
System clock and tick fix patch, which I need to test before I can conclude
that this patch is working correctly.

  Joel



On Fri, Sep 21, 2012 at 11:08 PM, Joel Hestness <[email protected]>wrote:

>    This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1386/
>   Review request for Default.
> By Joel Hestness.
>
> *Updated Sept. 21, 2012, 9:08 p.m.*
> Description (updated)
>
> Changeset 9228:0b63b7c87cde
> ---------------------------
> RubyPort and Sequencer: Fix draining
>
> Fix the drain functionality of the RubyPort to only call drain on child ports
> during a system-wide drain process, instead of calling each time that a
> ruby_hit_callback is executed.
>
> This fixes the issue of the RubyPort ports being reawakened during the drain
> simulation, possibly with work they didn't previously have to complete. If
> they have new work, they may call process on the drain event that they had
> not registered work for, causing an assertion failure when completing the
> drain event.
>
> Also, in RubyPort, set the drainEvent to NULL when there are no events
> to be drained. If not set to NULL, the drain loop can result in stale
> drainEvents used.
>
>   Testing
>
> Verified that all prior working Ruby checkpointing configurations still work 
> correctly. Verified that this fixes checkpoint restore into timing CPU and 
> then switch to detailed CPU with x86. Will need to verify that this works 
> when restoring in full-system simulation, functionality which is currently 
> obscured by another bug when restoring into detailed CPU in FS.
>
>   Diffs (updated)
>
>    - src/mem/ruby/system/RubyPort.hh (c208c904ab13)
>    - src/mem/ruby/system/RubyPort.cc (c208c904ab13)
>    - src/mem/ruby/system/Sequencer.cc (c208c904ab13)
>
> View Diff <http://reviews.gem5.org/r/1386/diff/>
>



-- 
  Joel Hestness
  PhD Student, Computer Architecture
  Dept. of Computer Science, University of Wisconsin - Madison
  http://www.cs.utexas.edu/~hestness
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to