changeset 57aac1719f86 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=57aac1719f86
description:
        ruby: remove the three files related to profiling
        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.

diffstat:

 src/mem/protocol/MESI_CMP_directory-L1cache.sm               |   1 +
 src/mem/protocol/MESI_CMP_directory-L2cache.sm               |   1 +
 src/mem/protocol/MI_example-cache.sm                         |   1 +
 src/mem/protocol/RubySlicc_Profiler.sm                       |  45 --------
 src/mem/protocol/RubySlicc_interfaces.slicc                  |   1 -
 src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc |  66 ------------
 src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh |  58 ----------
 src/mem/ruby/slicc_interface/RubySlicc_includes.hh           |   1 -
 src/mem/ruby/slicc_interface/SConscript                      |   1 -
 9 files changed, 3 insertions(+), 172 deletions(-)

diffs (243 lines):

diff -r a0ee1b3aec39 -r 57aac1719f86 
src/mem/protocol/MESI_CMP_directory-L1cache.sm
--- a/src/mem/protocol/MESI_CMP_directory-L1cache.sm    Mon Jun 24 06:57:06 
2013 -0500
+++ b/src/mem/protocol/MESI_CMP_directory-L1cache.sm    Mon Jun 24 08:59:08 
2013 -0500
@@ -151,6 +151,7 @@
   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" {
diff -r a0ee1b3aec39 -r 57aac1719f86 
src/mem/protocol/MESI_CMP_directory-L2cache.sm
--- a/src/mem/protocol/MESI_CMP_directory-L2cache.sm    Mon Jun 24 06:57:06 
2013 -0500
+++ b/src/mem/protocol/MESI_CMP_directory-L2cache.sm    Mon Jun 24 08:59:08 
2013 -0500
@@ -156,6 +156,7 @@
   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" {
diff -r a0ee1b3aec39 -r 57aac1719f86 src/mem/protocol/MI_example-cache.sm
--- a/src/mem/protocol/MI_example-cache.sm      Mon Jun 24 06:57:06 2013 -0500
+++ b/src/mem/protocol/MI_example-cache.sm      Mon Jun 24 08:59:08 2013 -0500
@@ -105,6 +105,7 @@
   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 -r a0ee1b3aec39 -r 57aac1719f86 src/mem/protocol/RubySlicc_Profiler.sm
--- a/src/mem/protocol/RubySlicc_Profiler.sm    Mon Jun 24 06:57:06 2013 -0500
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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);
diff -r a0ee1b3aec39 -r 57aac1719f86 src/mem/protocol/RubySlicc_interfaces.slicc
--- a/src/mem/protocol/RubySlicc_interfaces.slicc       Mon Jun 24 06:57:06 
2013 -0500
+++ b/src/mem/protocol/RubySlicc_interfaces.slicc       Mon Jun 24 08:59:08 
2013 -0500
@@ -2,6 +2,5 @@
 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 -r a0ee1b3aec39 -r 57aac1719f86 
src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc
--- a/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc      Mon Jun 
24 06:57:06 2013 -0500
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r a0ee1b3aec39 -r 57aac1719f86 
src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh
--- a/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh      Mon Jun 
24 06:57:06 2013 -0500
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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__
diff -r a0ee1b3aec39 -r 57aac1719f86 
src/mem/ruby/slicc_interface/RubySlicc_includes.hh
--- a/src/mem/ruby/slicc_interface/RubySlicc_includes.hh        Mon Jun 24 
06:57:06 2013 -0500
+++ b/src/mem/ruby/slicc_interface/RubySlicc_includes.hh        Mon Jun 24 
08:59:08 2013 -0500
@@ -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__
diff -r a0ee1b3aec39 -r 57aac1719f86 src/mem/ruby/slicc_interface/SConscript
--- a/src/mem/ruby/slicc_interface/SConscript   Mon Jun 24 06:57:06 2013 -0500
+++ b/src/mem/ruby/slicc_interface/SConscript   Mon Jun 24 08:59:08 2013 -0500
@@ -39,4 +39,3 @@
 Source('AbstractEntry.cc')
 Source('AbstractCacheEntry.cc')
 Source('RubyRequest.cc')
-Source('RubySlicc_Profiler_interface.cc')
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to