From 407f37e15f19a2da350a94272ac7739891e935f4 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Fri, 10 Jan 2014 16:19:47 -0600 Subject: ruby: move all statistics to stats.txt, eliminate ruby.stats --- src/mem/ruby/system/System.hh | 51 +++++++++++++++---------------------------- 1 file changed, 17 insertions(+), 34 deletions(-) (limited to 'src/mem/ruby/system/System.hh') diff --git a/src/mem/ruby/system/System.hh b/src/mem/ruby/system/System.hh index 474741bf7..de35116d4 100644 --- a/src/mem/ruby/system/System.hh +++ b/src/mem/ruby/system/System.hh @@ -39,16 +39,16 @@ #include "base/output.hh" #include "mem/packet.hh" #include "mem/ruby/common/Global.hh" +#include "mem/ruby/profiler/Profiler.hh" #include "mem/ruby/recorder/CacheRecorder.hh" #include "mem/ruby/slicc_interface/AbstractController.hh" +#include "mem/ruby/system/MemoryControl.hh" #include "mem/ruby/system/MemoryVector.hh" #include "mem/ruby/system/SparseMemory.hh" #include "params/RubySystem.hh" #include "sim/clocked_object.hh" class Network; -class Profiler; -class MemoryControl; class RubySystem : public ClockedObject { @@ -84,27 +84,27 @@ class RubySystem : public ClockedObject Network* getNetwork() { - assert(m_network_ptr != NULL); - return m_network_ptr; + assert(m_network != NULL); + return m_network; } Profiler* getProfiler() { - assert(m_profiler_ptr != NULL); - return m_profiler_ptr; + assert(m_profiler != NULL); + return m_profiler; } MemoryVector* getMemoryVector() { - assert(m_mem_vec_ptr != NULL); - return m_mem_vec_ptr; + assert(m_mem_vec != NULL); + return m_mem_vec; } - void printStats(std::ostream& out); + void regStats() { m_profiler->regStats(name()); } + void collateStats() { m_profiler->collateStats(); } void resetStats(); - void print(std::ostream& out) const; void serialize(std::ostream &os); void unserialize(Checkpoint *cp, const std::string §ion); @@ -114,7 +114,6 @@ class RubySystem : public ClockedObject bool functionalWrite(Packet *ptr); void registerNetwork(Network*); - void registerProfiler(Profiler*); void registerAbstractController(AbstractController*); void registerSparseMemory(SparseMemory*); void registerMemController(MemoryControl *mc); @@ -146,44 +145,28 @@ class RubySystem : public ClockedObject static uint64_t m_memory_size_bytes; static uint32_t m_memory_size_bits; - Network* m_network_ptr; + Network* m_network; std::vector m_memory_controller_vec; std::vector m_abs_cntrl_vec; public: - Profiler* m_profiler_ptr; - MemoryVector* m_mem_vec_ptr; + Profiler* m_profiler; + MemoryVector* m_mem_vec; bool m_warmup_enabled; bool m_cooldown_enabled; CacheRecorder* m_cache_recorder; std::vector m_sparse_memory_vector; }; -inline std::ostream& -operator<<(std::ostream& out, const RubySystem& obj) -{ - //obj.print(out); - out << std::flush; - return out; -} - -class RubyDumpStatsCallback : public Callback +class RubyStatsCallback : public Callback { private: - std::ostream *os; RubySystem *ruby_system; public: - virtual ~RubyDumpStatsCallback() {} - - RubyDumpStatsCallback(const std::string& _stats_filename, - RubySystem *system) - { - os = simout.create(_stats_filename); - ruby_system = system; - } - - void process(); + virtual ~RubyStatsCallback() {} + RubyStatsCallback(RubySystem *system) : ruby_system(system) {} + void process() { ruby_system->collateStats(); } }; #endif // __MEM_RUBY_SYSTEM_SYSTEM_HH__ -- cgit v1.2.3