What's going on with this patch?  I don't believe it's been committed but it
seems like it should.  I've also got some patches waiting behind this
because they used to touch CacheMsg and I don't want to mess Nilay up, so
I've been waiting to serialize behind this.

Lisa

On Wed, Feb 9, 2011 at 1:28 PM, Brad Beckmann <brad.beckm...@amd.com> wrote:

>    This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/327/
>
> Overall, this patch looks good to me as well.  I just have a couple minor 
> questions.  Though your comment says this patch removes libruby, the diff 
> seems to indicate that the file still remains.  Am I reading that correctly?  
> Also it seems that in several places you unecessarily generate the line 
> address, even though the line address already exists in the ruby request (see 
> comments below).
>
>
>    
> src/mem/ruby/storebuffer/storebuffer.cc<http://reviews.m5sim.org/r/327/diff/6/?file=10042#file10042line183>
>  (Diff
> revision 6)
>
> StoreBuffer::checkForLoadHit(RubyRequest request)
>
>   183
>
>         if ((req.paddr & m_block_mask) != lineaddr)
>
> 183
>
>         if ((req.m_PhysicalAddress.getAddress() & m_block_mask) != lineaddr)
>
>   Instead of masking the physical address, can we just use the m_LineAddress?
>
>
>    
> src/mem/ruby/storebuffer/storebuffer.cc<http://reviews.m5sim.org/r/327/diff/6/?file=10042#file10042line233>
>  (Diff
> revision 6)
>
> StoreBuffer::returnMatchedData(RubyRequest request)
>
>   233
>
>         if ((it->m_request.paddr & m_block_mask) == lineaddr) {
>
> 233
>
>         if ((it->m_request.m_PhysicalAddress.getAddress() & m_block_mask) == 
> lineaddr) {
>
>   Same here.  Can we just use the m_LineAddress?
>
>
>    
> src/mem/ruby/storebuffer/storebuffer.cc<http://reviews.m5sim.org/r/327/diff/6/?file=10042#file10042line308>
>  (Diff
> revision 6)
>
> StoreBuffer::complete(uint64_t id)
>
>   308
>
>         if ((from_buffer.m_request.paddr & m_block_mask) == lineaddr &&
>
> 308
>
>         if ((from_buffer.m_request.m_PhysicalAddress.getAddress() & 
> m_block_mask) == lineaddr &&
>
>   And here
>
>
>    
> src/mem/ruby/system/Sequencer.cc<http://reviews.m5sim.org/r/327/diff/6/?file=10051#file10051line232>
>  (Diff
> revision 6)
>
> Sequencer::insertRequest(SequencerRequest* request)
>
>   230
>
>     line_addr.makeLineAddress();
>
> 231
>
>     Address line_addr(ruby_request->m_LineAddress);
>
>   Why is this line address conversion necessary?  Isn't m_LineAddress already 
> set correctly in the constructor?
>
>
>    
> src/mem/ruby/system/Sequencer.cc<http://reviews.m5sim.org/r/327/diff/6/?file=10051#file10051line455>
>  (Diff
> revision 6)
>
> Sequencer::hitCallback(SequencerRequest* srequest,
>
>   451
>
>     Address request_line_address(ruby_request.paddr);
>
> 453
>
>     Address request_line_address(ruby_request->m_PhysicalAddress);
>
>   Can you just use the m_LineAddress variable of ruby_request instead of 
> converting the paddr to a line address.
>
>
> - Brad
>
> On January 25th, 2011, 9:15 a.m., Nilay Vaish wrote:
>   Review request for Default.
> By Nilay Vaish.
>
> *Updated 2011-01-25 09:15:23*
> Description
>
> Remove CacheMsg class from SLICC
> The goal of the patch is to do away with the CacheMsg class currently in use
> in coherence protocols. In place of CacheMsg, the RubyRequest class will used.
> This class is already present in libruby.hh. In fact, objects of class
> CacheMsg are generated by copying values from a RubyRequest object.
>
> The changes relating to removal of libruby have been moved to separate patch.
>
>   Diffs
>
>    - src/cpu/testers/rubytest/RubyTester.hh (31a04e5ac4be)
>    - src/mem/protocol/MESI_CMP_directory-L1cache.sm (31a04e5ac4be)
>    - src/mem/protocol/MI_example-cache.sm (31a04e5ac4be)
>    - src/mem/protocol/MOESI_CMP_directory-L1cache.sm (31a04e5ac4be)
>    - src/mem/protocol/MOESI_CMP_token-L1cache.sm (31a04e5ac4be)
>    - src/mem/protocol/MOESI_CMP_token-dir.sm (31a04e5ac4be)
>    - src/mem/protocol/MOESI_hammer-cache.sm (31a04e5ac4be)
>    - src/mem/protocol/RubySlicc_Exports.sm (31a04e5ac4be)
>    - src/mem/protocol/RubySlicc_Profiler.sm (31a04e5ac4be)
>    - src/mem/protocol/RubySlicc_Types.sm (31a04e5ac4be)
>    - src/mem/ruby/SConscript (31a04e5ac4be)
>    - src/mem/ruby/common/Address.hh (31a04e5ac4be)
>    - src/mem/ruby/common/Address.cc (31a04e5ac4be)
>    - src/mem/ruby/common/DataBlock.hh (31a04e5ac4be)
>    - src/mem/ruby/common/DataBlock.cc (31a04e5ac4be)
>    - src/mem/ruby/filters/BlockBloomFilter.cc (31a04e5ac4be)
>    - src/mem/ruby/filters/BulkBloomFilter.cc (31a04e5ac4be)
>    - src/mem/ruby/filters/LSB_CountingBloomFilter.cc (31a04e5ac4be)
>    - src/mem/ruby/filters/MultiGrainBloomFilter.cc (31a04e5ac4be)
>    - src/mem/ruby/filters/NonCountingBloomFilter.cc (31a04e5ac4be)
>    - src/mem/ruby/libruby.hh (31a04e5ac4be)
>    - src/mem/ruby/libruby.cc (31a04e5ac4be)
>    - src/mem/ruby/libruby_internal.hh (31a04e5ac4be)
>    - src/mem/ruby/profiler/AccessTraceForAddress.cc (31a04e5ac4be)
>    - src/mem/ruby/profiler/AddressProfiler.hh (31a04e5ac4be)
>    - src/mem/ruby/profiler/AddressProfiler.cc (31a04e5ac4be)
>    - src/mem/ruby/profiler/Profiler.hh (31a04e5ac4be)
>    - src/mem/ruby/profiler/Profiler.cc (31a04e5ac4be)
>    - src/mem/ruby/recorder/CacheRecorder.hh (31a04e5ac4be)
>    - src/mem/ruby/recorder/CacheRecorder.cc (31a04e5ac4be)
>    - src/mem/ruby/recorder/TraceRecord.hh (31a04e5ac4be)
>    - src/mem/ruby/recorder/TraceRecord.cc (31a04e5ac4be)
>    - src/mem/ruby/recorder/Tracer.hh (31a04e5ac4be)
>    - src/mem/ruby/recorder/Tracer.cc (31a04e5ac4be)
>    - src/mem/ruby/slicc_interface/RubyRequest.hh (PRE-CREATION)
>    - src/mem/ruby/slicc_interface/RubyRequest.cc (PRE-CREATION)
>    - src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh
>    (31a04e5ac4be)
>    - src/mem/ruby/slicc_interface/RubySlicc_Util.hh (31a04e5ac4be)
>    - src/mem/ruby/slicc_interface/SConscript (31a04e5ac4be)
>    - src/mem/ruby/storebuffer/stb_interface.cc (31a04e5ac4be)
>    - src/mem/ruby/storebuffer/storebuffer.cc (31a04e5ac4be)
>    - src/mem/ruby/system/CacheMemory.hh (31a04e5ac4be)
>    - src/mem/ruby/system/CacheMemory.cc (31a04e5ac4be)
>    - src/mem/ruby/system/DMASequencer.hh (31a04e5ac4be)
>    - src/mem/ruby/system/DMASequencer.cc (31a04e5ac4be)
>    - src/mem/ruby/system/PerfectCacheMemory.hh (31a04e5ac4be)
>    - src/mem/ruby/system/RubyPort.hh (31a04e5ac4be)
>    - src/mem/ruby/system/RubyPort.cc (31a04e5ac4be)
>    - src/mem/ruby/system/Sequencer.hh (31a04e5ac4be)
>    - src/mem/ruby/system/Sequencer.cc (31a04e5ac4be)
>    - src/mem/ruby/system/SparseMemory.cc (31a04e5ac4be)
>    - src/mem/slicc/parser.py (31a04e5ac4be)
>
> View Diff <http://reviews.m5sim.org/r/327/diff/>
>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to