> On 2011-05-03 17:45:41, Brad Beckmann wrote:
> > Can we change the name of Time in base/time.hh instead of Time in Ruby?  
> > Right now this patch touches 50+ Ruby files and a bunch of lines within 
> > those files just to change Time to RTime.  It seems that far fewer changes 
> > would be required to change the name of base/time.hh's version of Time.
> 
> Nathan Binkert wrote:
>     While I wouldn't be opposed to changing the time in base/time.hh if we 
> needed both, but don't we need to move ruby away from its own version of Time 
> anyway?  Shouldn't we be using Tick?
>     
>     Also, we've generally never shied away from changes that can be done with 
> a one line sed/perl script.
> 
> Gabe Black wrote:
>     I was about to say something along these lines. This would be a good 
> chance to consolidate Ruby and M5 systems a little. It might be a good idea 
> to do the simple find/replace change on its own so the non-simple 
> non-find/replace stuff doesn't get lost as noise. I don't have deep feelings 
> one way or the other, though.
> 
> Korey Sewell wrote:
>     This should be two diffs: 1 for rename and 1 for stat code. But since 
> they are related to getting dumpstats working I combined them both for the 
> sake of discussion.
>     
>     Time isnt equivalent Tick or I would've happily made that change :). 
>     
>     Time is really the Ruby Cycle count so if you change it to Tick then all 
> over the place you would have to convert to cycles when making comparisons 
> for request latencies and various parameters in Ruby. In the interim, maybe 
> changing Time to Cycle would work.
>     
>     Alternatively, you could change Time to Tick, and then force all the 
> latencies throughout Ruby to be expressed in Ticks. This would have the nice 
> effect of setting the latencies for Caches and memory objects with a real 
> time (e.g. "1ns") instead of relative time (e.g. 1 cycle).
> 
> Brad Beckmann wrote:
>     Eventually, we absolutely need Ruby to move away from its own version of 
> time and we are in the process to do just that.  Right now both Nilay and 
> Somayeh are working on two pretty complicated and substantial changes that 
> are on that path.  In particular, once Ruby supports functional accesses, 
> then it can supply data directly to the CPUs.  Once Ruby data is functional 
> memory, we can create cache warmup traces that include valid data.  Once we 
> have a cache warmup methodology that includes data and works more seamlessly 
> with unserialization, we can remove the Ruby event queue APIs.  Once we do 
> that, we can get rid of Ruby's notion of time...As you can tell, this is a 
> long process and we still have a ways to go, but that is the plan.
>     
>     My hesitation with this patch is that it seems premature and it adds more 
> rebase/merging work for those of us who have other patches under development 
> that really need touch these same files and lines.
>     
>     Overall, does this patch need to be checked in right now?  For instance, 
> do we need it to move Ruby stats to M5 stats or will moving to M5 stats 
> negate having to make this change?
>

Seems like a reasonable objection.  I've generally had success with running the 
search/replace routines directly on my patches when this sort of change 
happens, but if that doesn't work, then I wouldn't be opposed to renaming Time 
to TimeOfDay or RealTime or something like that.  I would like to make sure 
that Korey can continue working.


- Nathan


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


On 2011-05-03 11:20:58, Korey Sewell wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/675/
> -----------------------------------------------------------
> 
> (Updated 2011-05-03 11:20:58)
> 
> 
> Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
> Nathan Binkert.
> 
> 
> Summary
> -------
> 
> ruby-stats: support for dump_stats instruction
> ***
> NOTE: The core changes for this diff are in Profiler.cc/hh, 
> stat_control.hh/cc, and pseudo_inst.cc
> ****
> This is a first pass toward getting dump-stats functionality to work 
> "cleanly" for Ruby. As is, the patch works, but there needs to be discussion 
> over:
> - Changing Ruby typedef "Time" to "RTime" because it conflicts with the Time 
> class defined in base/time.hh (The majority of files are renames)... Is there 
> a better name than "RTime"?
> 
> - Where is the right place for this RubyStatEvent code? I hesitated to do any 
> real cosmetic changes because of what impending stat changes might do. I have 
> two thoughts:
> (1) If Ruby Stats will be registered like old M5 stats, then this code would 
> nicely fold into the old "statEvent" code in sim_control.cc. "Fold into" 
> maybe too strong of a phrase even, as most of it should just naturally "work".
> (2) If Ruby Stats are not registered, then maybe placing this code into the 
> RubySystem class. I realized late that the "Profiler" and "Network" have two 
> different stats that they track so the RubySystem would be the right place 
> along with calling the namespace "RubyStats".
> 
> 
> Diffs
> -----
> 
>   SConstruct 3f49ed206f46 
>   src/cpu/testers/rubytest/RubyTester.hh 3f49ed206f46 
>   src/cpu/testers/rubytest/RubyTester.cc 3f49ed206f46 
>   src/mem/ruby/buffers/MessageBuffer.hh 3f49ed206f46 
>   src/mem/ruby/buffers/MessageBuffer.cc 3f49ed206f46 
>   src/mem/ruby/buffers/MessageBufferNode.hh 3f49ed206f46 
>   src/mem/ruby/common/Consumer.hh 3f49ed206f46 
>   src/mem/ruby/common/Global.hh 3f49ed206f46 
>   src/mem/ruby/common/TypeDefines.hh 3f49ed206f46 
>   src/mem/ruby/eventqueue/RubyEventQueue.hh 3f49ed206f46 
>   src/mem/ruby/eventqueue/RubyEventQueue.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh 
> 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/FlexibleConsumer.hh 
> 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/InVcState.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/InVcState.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh 
> 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc 
> 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/OutVcState.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/OutVcState.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/Router.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/Router.cc 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/flit.hh 3f49ed206f46 
>   src/mem/ruby/network/garnet/flexible-pipeline/flit.cc 3f49ed206f46 
>   src/mem/ruby/network/simple/Throttle.hh 3f49ed206f46 
>   src/mem/ruby/profiler/Profiler.hh 3f49ed206f46 
>   src/mem/ruby/profiler/Profiler.cc 3f49ed206f46 
>   src/mem/ruby/profiler/StoreTrace.hh 3f49ed206f46 
>   src/mem/ruby/profiler/StoreTrace.cc 3f49ed206f46 
>   src/mem/ruby/recorder/CacheRecorder.hh 3f49ed206f46 
>   src/mem/ruby/recorder/CacheRecorder.cc 3f49ed206f46 
>   src/mem/ruby/recorder/TraceRecord.hh 3f49ed206f46 
>   src/mem/ruby/recorder/TraceRecord.cc 3f49ed206f46 
>   src/mem/ruby/recorder/Tracer.hh 3f49ed206f46 
>   src/mem/ruby/recorder/Tracer.cc 3f49ed206f46 
>   src/mem/ruby/slicc_interface/AbstractCacheEntry.hh 3f49ed206f46 
>   src/mem/ruby/slicc_interface/Message.hh 3f49ed206f46 
>   src/mem/ruby/slicc_interface/RubySlicc_Util.hh 3f49ed206f46 
>   src/mem/ruby/system/AbstractReplacementPolicy.hh 3f49ed206f46 
>   src/mem/ruby/system/LRUPolicy.hh 3f49ed206f46 
>   src/mem/ruby/system/MemoryControl.cc 3f49ed206f46 
>   src/mem/ruby/system/MemoryNode.hh 3f49ed206f46 
>   src/mem/ruby/system/PseudoLRUPolicy.hh 3f49ed206f46 
>   src/mem/ruby/system/Sequencer.hh 3f49ed206f46 
>   src/mem/ruby/system/Sequencer.cc 3f49ed206f46 
>   src/mem/ruby/system/System.hh 3f49ed206f46 
>   src/mem/ruby/system/System.cc 3f49ed206f46 
>   src/mem/ruby/system/TimerTable.hh 3f49ed206f46 
>   src/mem/ruby/system/TimerTable.cc 3f49ed206f46 
>   src/mem/ruby/system/WireBuffer.cc 3f49ed206f46 
>   src/sim/pseudo_inst.cc 3f49ed206f46 
>   src/sim/stat_control.hh 3f49ed206f46 
>   src/sim/stat_control.cc 3f49ed206f46 
> 
> Diff: http://reviews.m5sim.org/r/675/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Korey
> 
>

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

Reply via email to