> On 2011-03-24 08:58:15, Brad Beckmann wrote:
> > src/mem/ruby/system/Sequencer.cc, line 396
> > <http://reviews.m5sim.org/r/552/diff/6/?file=11209#file11209line396>
> >
> >     I don't think you need to separately handle Flush request.  I believe 
> > the current implmementation of handleLlsc should always return true for 
> > Flush requests.  Please remove this change.

handleLlsc accesses the cache entry ((m_dataCache_ptr->isLocked(address, 
m_version)), however in case of cache flushes, we keep the line in TBE and 
deallocate the cache entry. Therefore, regular implementation of handleLlsc 
does not work properly with Flush requests (gives an error when it tries to 
access the cache entry as it does not exist). I can add a condition inside this 
function to return True for Flush requests, what do you think?


> On 2011-03-24 08:58:15, Brad Beckmann wrote:
> > src/mem/ruby/system/Sequencer.cc, line 541
> > <http://reviews.m5sim.org/r/552/diff/6/?file=11209#file11209line541>
> >
> >     I thought we concluded that Flush requests can callback the RubyPort?  
> > As long as needsResponse is set to false, the cpu should never see the 
> > packet which is what we want.  Right now, I think you have a memory leak 
> > because the Flush packets are never deleted.  Please correct me if I'm 
> > missing something.

ruby_hit_callback calls RubyPort::M5Port::hitCallback. Then, as we set 
accessPhysMem to False for flush requests, it will call         
pkt->makeResponse(), which should not be called, so its assertion on 
needsResponse will fail. Should I change this condition (in RubyPort.cc line 
365)?


- Somayeh


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/552/#review1009
-----------------------------------------------------------


On 2011-03-23 22:28:01, Somayeh Sardashti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/552/
> -----------------------------------------------------------
> 
> (Updated 2011-03-23 22:28:01)
> 
> 
> Review request for Default and Brad Beckmann.
> 
> 
> Summary
> -------
> 
> my initial implementation of cache flushing
> 
> 
> Diffs
> -----
> 
>   configs/example/ruby_random_test.py baf4b5f6782e 
>   src/cpu/testers/rubytest/Check.hh baf4b5f6782e 
>   src/cpu/testers/rubytest/Check.cc baf4b5f6782e 
>   src/cpu/testers/rubytest/RubyTester.hh baf4b5f6782e 
>   src/cpu/testers/rubytest/RubyTester.cc baf4b5f6782e 
>   src/cpu/testers/rubytest/RubyTester.py baf4b5f6782e 
>   src/mem/packet.hh baf4b5f6782e 
>   src/mem/packet.cc baf4b5f6782e 
>   src/mem/protocol/MOESI_hammer-cache.sm baf4b5f6782e 
>   src/mem/protocol/MOESI_hammer-dir.sm baf4b5f6782e 
>   src/mem/protocol/MOESI_hammer-msg.sm baf4b5f6782e 
>   src/mem/protocol/RubySlicc_Exports.sm baf4b5f6782e 
>   src/mem/ruby/slicc_interface/RubyRequest.hh baf4b5f6782e 
>   src/mem/ruby/slicc_interface/RubyRequest.cc baf4b5f6782e 
>   src/mem/ruby/system/DMASequencer.cc baf4b5f6782e 
>   src/mem/ruby/system/RubyPort.cc baf4b5f6782e 
>   src/mem/ruby/system/Sequencer.cc baf4b5f6782e 
> 
> Diff: http://reviews.m5sim.org/r/552/diff
> 
> 
> Testing
> -------
> 
> This implementation has passed 10,000,000 ruby test cases, and the 
> MOESI_hammer regression tests.
> 
> 
> Thanks,
> 
> Somayeh
> 
>

_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to