ruby: remove the three files related to profiling
authorNilay Vaish <nilay@cs.wisc.edu>
Mon, 24 Jun 2013 13:59:08 +0000 (08:59 -0500)
committerNilay Vaish <nilay@cs.wisc.edu>
Mon, 24 Jun 2013 13:59:08 +0000 (08:59 -0500)
This patch removes the following three files: RubySlicc_Profiler.sm,
RubySlicc_Profiler_interface.cc and RubySlicc_Profiler_interface.hh.
Only one function prototyped in the file RubySlicc_Profiler.sm. Rest of the
code appearing in any of these files is not in use. Therefore, these files
are being removed.

That one single function, profileMsgDelay(), is being moved to the protocol
files where it is in use. If we need any of these deleted functions, I think
the right way to make them visible is to have the AbstractController class in
a .sm and let the controller state machine inherit from this class. The
AbstractController class can then have the prototypes of these profiling
functions in its definition.

src/mem/protocol/MESI_CMP_directory-L1cache.sm
src/mem/protocol/MESI_CMP_directory-L2cache.sm
src/mem/protocol/MI_example-cache.sm
src/mem/protocol/RubySlicc_Profiler.sm [deleted file]
src/mem/protocol/RubySlicc_interfaces.slicc
src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc [deleted file]
src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh [deleted file]
src/mem/ruby/slicc_interface/RubySlicc_includes.hh
src/mem/ruby/slicc_interface/SConscript

index e45a8df3420531970a0bd43a213785e8b70891b7..454e01050c4d5f38045d0d4455db2e168e80dc1c 100644 (file)
@@ -151,6 +151,7 @@ machine(L1Cache, "MESI Directory L1 Cache CMP")
   void set_tbe(TBE a);
   void unset_tbe();
   void wakeUpBuffers(Address a);
+  void profileMsgDelay(int virtualNetworkType, Cycles c);
 
   // inclusive cache returns L1 entries only
   Entry getCacheEntry(Address addr), return_by_pointer="yes" {
index e28abe336cd926d241ec07b9bdcb3518c6604104..d4f3c4188d669530f67b81df7ce13fceea53e13e 100644 (file)
@@ -156,6 +156,7 @@ machine(L2Cache, "MESI Directory L2 Cache CMP")
   void set_tbe(TBE a);
   void unset_tbe();
   void wakeUpBuffers(Address a);
+  void profileMsgDelay(int virtualNetworkType, Cycles c);
 
   // inclusive cache, returns L2 entries only
   Entry getCacheEntry(Address addr), return_by_pointer="yes" {
index d22a0d3e9560cb8e67f85a6b7baedd15c797a819..2b505f047c41b3af922db906d38b07a4a9bf6e76 100644 (file)
@@ -105,6 +105,7 @@ machine(L1Cache, "MI Example L1 Cache")
   void unset_cache_entry();
   void set_tbe(TBE b);
   void unset_tbe();
+  void profileMsgDelay(int virtualNetworkType, Cycles b);
 
   Entry getCacheEntry(Address address), return_by_pointer="yes" {
     return static_cast(Entry, "pointer", cacheMemory.lookup(address));
diff --git a/src/mem/protocol/RubySlicc_Profiler.sm b/src/mem/protocol/RubySlicc_Profiler.sm
deleted file mode 100644 (file)
index 591366e..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// Profiler function
-
-// used by 2level exclusive cache protocols
-void profile_miss(RubyRequest msg);
-
-// used by CMP protocols
-void profileMessageReordering(bool wasReordered);
-void profileMessageReorderingByNetwork(int vnet, bool wasReordered);
-void profile_token_retry(Address addr, AccessType type, int count);
-void profile_persistent_prediction(Address addr, AccessType type);
-void profile_filter_action(int act);
-// void profile_overlapping_persistent_request(int overlapping);
-void profile_average_latency_estimate(int latency);
-
-// profile the total message delay of a message across a virtual network
-void profileMsgDelay(int virtualNetwork, Cycles delayCycles);
index 4b6800847377d2494d52899c0f4545883d134871..f5a2b632d2043a1e8df14badacef6418d3585a3f 100644 (file)
@@ -2,6 +2,5 @@ include "RubySlicc_Exports.sm";
 include "RubySlicc_Types.sm";
 include "RubySlicc_Util.sm";
 include "RubySlicc_ComponentMapping.sm";
-include "RubySlicc_Profiler.sm";
 include "RubySlicc_Defines.sm";
 include "RubySlicc_MemControl.sm";
diff --git a/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc b/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc
deleted file mode 100644 (file)
index 5c8c8d1..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "mem/ruby/common/Global.hh"
-#include "mem/ruby/profiler/AddressProfiler.hh"
-#include "mem/ruby/profiler/Profiler.hh"
-#include "mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh"
-#include "mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh"
-#include "mem/ruby/system/System.hh"
-
-using namespace std;
-
-void
-profile_average_latency_estimate(int latency)
-{
-    g_system_ptr->getProfiler()->profileAverageLatencyEstimate(latency);
-}
-
-void
-profile_sharing(const Address& addr, AccessType type, NodeID requestor,
-                const Set& sharers, const Set& owner)
-{
-    g_system_ptr->getProfiler()->
-        profileSharing(addr, type, requestor, sharers, owner);
-}
-
-void
-profileGetX(const Address& datablock, const Address& PC, const Set& owner,
-            const Set& sharers, NodeID requestor)
-{
-    g_system_ptr->getProfiler()->getAddressProfiler()->
-        profileGetX(datablock, PC, owner, sharers, requestor);
-}
-
-void
-profileGetS(const Address& datablock, const Address& PC, const Set& owner,
-            const Set& sharers, NodeID requestor)
-{
-    g_system_ptr->getProfiler()->getAddressProfiler()->
-        profileGetS(datablock, PC, owner, sharers, requestor);
-}
diff --git a/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh b/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh
deleted file mode 100644 (file)
index b84a01e..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * These are the functions that exported to slicc from ruby.
- */
-
-#ifndef __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_PROFILER_INTERFACE_HH__
-#define __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_PROFILER_INTERFACE_HH__
-
-#include <string>
-
-#include "mem/protocol/AccessType.hh"
-#include "mem/ruby/common/Address.hh"
-#include "mem/ruby/common/Global.hh"
-#include "mem/ruby/profiler/Profiler.hh"
-
-class Set;
-
-void profile_sharing(const Address& addr, AccessType type, NodeID requestor,
-                     const Set& sharers, const Set& owner);
-void profile_miss(const RubyRequest& msg, NodeID id);
-void profile_token_retry(const Address& addr, AccessType type, int count);
-void profile_filter_action(int action);
-void profile_persistent_prediction(const Address& addr, AccessType type);
-void profile_average_latency_estimate(int latency);
-
-void profileGetX(const Address& datablock, const Address& PC, const Set& owner,
-                 const Set& sharers, NodeID requestor);
-void profileGetS(const Address& datablock, const Address& PC, const Set& owner,
-                 const Set& sharers, NodeID requestor);
-
-#endif // __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_PROFILER_INTERFACE_HH__
index 6defbbaa8527adefb9640173c0b972b1ee884c8f..3a8df919b0f43d5b809d0a14697a5461ddc54a5a 100644 (file)
@@ -30,7 +30,6 @@
 #define __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_INCLUDES_HH__
 
 #include "mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh"
-#include "mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh"
 #include "mem/ruby/slicc_interface/RubySlicc_Util.hh"
 
 #endif // __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_INCLUDES_HH__
index b51747b64a5270c1db267ad477f5e74ff0290f40..2d00fb7fe44dc5b18a14dd6715b40c370d35802b 100644 (file)
@@ -39,4 +39,3 @@ Source('AbstractController.cc')
 Source('AbstractEntry.cc')
 Source('AbstractCacheEntry.cc')
 Source('RubyRequest.cc')
-Source('RubySlicc_Profiler_interface.cc')