From a49b1df3f0d1e1c9ce46675d9fce7787d98caca7 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Sun, 10 Feb 2013 21:26:22 -0600 Subject: ruby: record fully busy cycle with in the controller This patch does several things. First, the counter for fully busy cycles for a controller is now kept with in the controller, instead of being part of the profiler. Second, the topology class no longer keeps an array of controllers which was only used for printing stats. Instead, ruby system will now ask each controller to print the stats. Thirdly, the statistical variable for recording how many different types were created is being moved in to the controller from the profiler. Note that for printing, the profiler will collate results from different controllers. --- src/mem/ruby/profiler/Profiler.hh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/mem/ruby/profiler/Profiler.hh') diff --git a/src/mem/ruby/profiler/Profiler.hh b/src/mem/ruby/profiler/Profiler.hh index 5f78f279b..5b370de54 100644 --- a/src/mem/ruby/profiler/Profiler.hh +++ b/src/mem/ruby/profiler/Profiler.hh @@ -170,6 +170,9 @@ class Profiler : public SimObject bool getHotLines() { return m_hot_lines; } bool getAllInstructions() { return m_all_instructions; } + private: + void printRequestProfile(std::ostream &out); + private: // Private copy constructor and assignment operator Profiler(const Profiler& obj); @@ -187,7 +190,6 @@ class Profiler : public SimObject Time m_ruby_start; time_t m_real_time_start_time; - std::vector > m_busyControllerCount; int64_t m_busyBankCount; Histogram m_multicast_retry_histogram; @@ -234,9 +236,6 @@ class Profiler : public SimObject Histogram m_average_latency_estimate; m5::hash_set
m_watch_address_set; - // counts all initiated cache request including PUTs - int m_requests; - std::map m_requestProfileMap; //added by SS bool m_hot_lines; -- cgit v1.2.3