diff options
-rw-r--r-- | src/mem/protocol/MESI_CMP_directory-L1cache.sm | 1 | ||||
-rw-r--r-- | src/mem/protocol/MESI_CMP_directory-L2cache.sm | 1 | ||||
-rw-r--r-- | src/mem/protocol/MI_example-cache.sm | 1 | ||||
-rw-r--r-- | src/mem/protocol/RubySlicc_Profiler.sm | 45 | ||||
-rw-r--r-- | src/mem/protocol/RubySlicc_interfaces.slicc | 1 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc | 66 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh | 58 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/RubySlicc_includes.hh | 1 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/SConscript | 1 |
9 files changed, 3 insertions, 172 deletions
diff --git a/src/mem/protocol/MESI_CMP_directory-L1cache.sm b/src/mem/protocol/MESI_CMP_directory-L1cache.sm index e45a8df34..454e01050 100644 --- a/src/mem/protocol/MESI_CMP_directory-L1cache.sm +++ b/src/mem/protocol/MESI_CMP_directory-L1cache.sm @@ -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" { diff --git a/src/mem/protocol/MESI_CMP_directory-L2cache.sm b/src/mem/protocol/MESI_CMP_directory-L2cache.sm index e28abe336..d4f3c4188 100644 --- a/src/mem/protocol/MESI_CMP_directory-L2cache.sm +++ b/src/mem/protocol/MESI_CMP_directory-L2cache.sm @@ -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" { diff --git a/src/mem/protocol/MI_example-cache.sm b/src/mem/protocol/MI_example-cache.sm index d22a0d3e9..2b505f047 100644 --- a/src/mem/protocol/MI_example-cache.sm +++ b/src/mem/protocol/MI_example-cache.sm @@ -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 index 591366ebe..000000000 --- a/src/mem/protocol/RubySlicc_Profiler.sm +++ /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); diff --git a/src/mem/protocol/RubySlicc_interfaces.slicc b/src/mem/protocol/RubySlicc_interfaces.slicc index 4b6800847..f5a2b632d 100644 --- a/src/mem/protocol/RubySlicc_interfaces.slicc +++ b/src/mem/protocol/RubySlicc_interfaces.slicc @@ -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 index 5c8c8d113..000000000 --- a/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.cc +++ /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 index b84a01ee9..000000000 --- a/src/mem/ruby/slicc_interface/RubySlicc_Profiler_interface.hh +++ /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__ diff --git a/src/mem/ruby/slicc_interface/RubySlicc_includes.hh b/src/mem/ruby/slicc_interface/RubySlicc_includes.hh index 6defbbaa8..3a8df919b 100644 --- a/src/mem/ruby/slicc_interface/RubySlicc_includes.hh +++ b/src/mem/ruby/slicc_interface/RubySlicc_includes.hh @@ -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 --git a/src/mem/ruby/slicc_interface/SConscript b/src/mem/ruby/slicc_interface/SConscript index b51747b64..2d00fb7fe 100644 --- a/src/mem/ruby/slicc_interface/SConscript +++ b/src/mem/ruby/slicc_interface/SConscript @@ -39,4 +39,3 @@ Source('AbstractController.cc') Source('AbstractEntry.cc') Source('AbstractCacheEntry.cc') Source('RubyRequest.cc') -Source('RubySlicc_Profiler_interface.cc') |