> On Sept. 21, 2015, 8:42 a.m., Andreas Hansson wrote:
> > Can we just prune the whole RubyMemoryControl rather? Has it not been 
> > deprecated long enough?
> 
> Joel Hestness wrote:
>     Unless I'm overlooking something, for Ruby users, I don't see other 
> memory controllers that are guaranteed to work. Besides RubyMemoryControl, 
> all others use a QueuedSlavePort for their input queues. Given that Ruby 
> hasn't added complete flow control, PacketQueue size restrictions can be 
> exceeded (triggering the panic). This occurs infrequently/irregularly with 
> aggressive GPUs in gem5-gpu, and appears difficult to fix in a systematic way.
>     
>     Regardless of the fact we've deprecated RubyMemoryControl, this is a 
> necessary fix.

No memory controller is using QueuedSlaavePort for any _input_ queues. The 
DRAMCtrl class uses it for the response _output_ queue, that's all. If that is 
really an issue we can move away from it and enfore an upper bound on responses 
by not accepting new requests. That said, if we hit the limit I would argue 
something else is fundamentally broken in the system and should be addressed.

In any case, the discussion whether to remove RubyMemoryControl or not should 
be completely decoupled.


- Andreas


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


On Sept. 16, 2015, 6:07 p.m., Joel Hestness wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3116/
> -----------------------------------------------------------
> 
> (Updated Sept. 16, 2015, 6:07 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 11093:b3044de6ce9c
> ---------------------------
> ruby: RubyMemoryControl delete requests
> 
> Changes to the RubyMemoryControl removed the dequeue function, which deleted
> MemoryNode instances. This results in leaked MemoryNode instances. Correctly
> delete these instances.
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/structures/RubyMemoryControl.cc 62e1504b9c64 
> 
> Diff: http://reviews.gem5.org/r/3116/diff/
> 
> 
> Testing
> -------
> 
> Compiled gem5.debug with --without-tcmalloc. Ran large tests with Valgrind.
> 
> 
> Thanks,
> 
> Joel Hestness
> 
>

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

Reply via email to