Ruby: remove the files related to the tracer
authorNilay Vaish <nilay@cs.wisc.edu>
Wed, 11 Jan 2012 00:35:45 +0000 (18:35 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Wed, 11 Jan 2012 00:35:45 +0000 (18:35 -0600)
The Ruby Tracer is out of date with the changes that are being carried
out to support checkpointing. Hence, it needs to be removed.

configs/ruby/Ruby.py
src/mem/ruby/recorder/SConscript
src/mem/ruby/recorder/Tracer.cc [deleted file]
src/mem/ruby/recorder/Tracer.hh [deleted file]
src/mem/ruby/recorder/Tracer.py [deleted file]
src/mem/ruby/system/Sequencer.cc
src/mem/ruby/system/System.cc
src/mem/ruby/system/System.hh

index 1562c531cba43f03e0d56c346cf9153a0bd87338..b70ffe177fc6eb38288a3f7ccc501dcffbb00382 100644 (file)
@@ -154,11 +154,8 @@ def create_system(options, system, piobus = None, dma_devices = []):
 
     ruby_profiler = RubyProfiler(ruby_system = ruby,
                                  num_of_sequencers = len(cpu_sequencers))
-    ruby_tracer   = RubyTracer(ruby_system = ruby)
-    
     ruby.network = network
     ruby.profiler = ruby_profiler
-    ruby.tracer = ruby_tracer
     ruby.mem_size = total_mem_size
     ruby._cpu_ruby_ports = cpu_sequencers
     ruby.random_seed    = options.random_seed
index 035f896a49a26e305517074c11998ecbafaa5007..4258d2c479e3829f54cbecf2f20aea66f4f80665 100644 (file)
@@ -33,8 +33,5 @@ Import('*')
 if env['PROTOCOL'] == 'None':
     Return()
 
-SimObject('Tracer.py')
-
 Source('CacheRecorder.cc')
-Source('Tracer.cc')
 Source('TraceRecord.cc', Werror=False)
diff --git a/src/mem/ruby/recorder/Tracer.cc b/src/mem/ruby/recorder/Tracer.cc
deleted file mode 100644 (file)
index fcfe533..0000000
+++ /dev/null
@@ -1,135 +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 "base/cprintf.hh"
-#include "mem/ruby/eventqueue/RubyEventQueue.hh"
-#include "mem/ruby/recorder/TraceRecord.hh"
-#include "mem/ruby/recorder/Tracer.hh"
-#include "mem/ruby/system/System.hh"
-
-using namespace std;
-
-Tracer::Tracer(const Params *p)
-    : SimObject(p)
-{
-    m_enabled = false;
-    m_warmup_length = p->warmup_length;
-    assert(m_warmup_length  > 0);
-    p->ruby_system->registerTracer(this);
-}
-
-void
-Tracer::startTrace(string filename)
-{
-    if (m_enabled)
-        stopTrace();
-
-    if (filename != "") {
-        m_trace_file.open(filename.c_str());
-        if (m_trace_file.fail()) {
-            cprintf("Error: error opening file '%s'\n", filename);
-            cprintf("Trace not enabled.\n");
-            return;
-        }
-        cprintf("Request trace enabled to output file '%s'\n", filename);
-        m_enabled = true;
-    }
-}
-
-void
-Tracer::stopTrace()
-{
-    if (m_enabled) {
-        m_trace_file.close();
-        cout << "Request trace file closed." << endl;
-        m_enabled = false;
-    }
-}
-
-void
-Tracer::traceRequest(Sequencer* sequencer, const Address& data_addr,
-    const Address& pc_addr, RubyRequestType type, Time time)
-{
-    assert(m_enabled);
-    TraceRecord tr(sequencer, data_addr, pc_addr, type, time);
-    tr.output(m_trace_file);
-}
-
-int
-Tracer::playbackTrace(string filename)
-{
-    igzstream in(filename.c_str());
-    if (in.fail()) {
-        cprintf("Error: error opening file '%s'\n", filename);
-        return 0;
-    }
-
-    time_t start_time = time(NULL);
-
-    TraceRecord record;
-    int counter = 0;
-    // Read in the next TraceRecord
-    bool ok = record.input(in);
-    while (ok) {
-        // Put it in the right cache
-        record.issueRequest();
-        counter++;
-
-        // Read in the next TraceRecord
-        ok = record.input(in);
-
-        // Clear the statistics after warmup
-        if (counter == m_warmup_length) {
-            cprintf("Clearing stats after warmup of length %s\n",
-                    m_warmup_length);
-            g_system_ptr->clearStats();
-        }
-    }
-
-    // Flush the prefetches through the system
-    // FIXME - should be smarter
-    g_eventQueue_ptr->triggerEvents(g_eventQueue_ptr->getTime() + 1000);
-
-    time_t stop_time = time(NULL);
-    double seconds = difftime(stop_time, start_time);
-    double minutes = seconds / 60.0;
-    cout << "playbackTrace: " << minutes << " minutes" << endl;
-
-    return counter;
-}
-
-void
-Tracer::print(ostream& out) const
-{
-}
-
-Tracer *
-RubyTracerParams::create()
-{
-    return new Tracer(this);
-}
diff --git a/src/mem/ruby/recorder/Tracer.hh b/src/mem/ruby/recorder/Tracer.hh
deleted file mode 100644 (file)
index cad47b2..0000000
+++ /dev/null
@@ -1,86 +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.
- */
-
-/*
- * Controller class of the tracer. Can stop/start/playback the ruby
- * cache requests trace.
- */
-
-#ifndef __MEM_RUBY_RECORDER_TRACER_HH__
-#define __MEM_RUBY_RECORDER_TRACER_HH__
-
-#include <iostream>
-#include <string>
-
-#include "mem/protocol/RubyRequestType.hh"
-#include "mem/ruby/common/Global.hh"
-#include "params/RubyTracer.hh"
-#include "sim/sim_object.hh"
-#include "gzstream.hh"
-
-class Address;
-class TraceRecord;
-class Sequencer;
-
-class Tracer : public SimObject
-{
-  public:
-    typedef RubyTracerParams Params;
-    Tracer(const Params *p);
-
-    void startTrace(std::string filename);
-    void stopTrace();
-    bool traceEnabled() { return m_enabled; }
-    void traceRequest(Sequencer* sequencer, const Address& data_addr,
-        const Address& pc_addr, RubyRequestType type, Time time);
-
-    void print(std::ostream& out) const;
-
-    int playbackTrace(std::string filename);
-
-  private:
-    // Private copy constructor and assignment operator
-    Tracer(const Tracer& obj);
-    Tracer& operator=(const Tracer& obj);
-
-    ogzstream m_trace_file;
-    bool m_enabled;
-
-    //added by SS
-    int m_warmup_length;
-};
-
-inline std::ostream&
-operator<<(std::ostream& out, const Tracer& obj)
-{
-    obj.print(out);
-    out << std::flush;
-    return out;
-}
-
-#endif // __MEM_RUBY_RECORDER_TRACER_HH__
diff --git a/src/mem/ruby/recorder/Tracer.py b/src/mem/ruby/recorder/Tracer.py
deleted file mode 100644 (file)
index 7a689f9..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2009 Advanced Micro Devices, Inc.
-# 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.
-#
-# Authors: Steve Reinhardt
-#          Brad Beckmann
-
-from m5.params import *
-from m5.SimObject import SimObject
-
-class RubyTracer(SimObject):
-    type = 'RubyTracer'
-    cxx_class = 'Tracer'
-    warmup_length = Param.Int(100000, "")
-    ruby_system = Param.RubySystem("")
index 7137dcc280b32aa9bac6f5255bbb82794dd73b96..f489e3461a7d1ff1f98c2dc3760892a49e338c2b 100644 (file)
@@ -40,9 +40,7 @@
 #include "mem/protocol/RubyAccessMode.hh"
 #include "mem/ruby/buffers/MessageBuffer.hh"
 #include "mem/ruby/common/Global.hh"
-#include "mem/ruby/common/SubBlock.hh"
 #include "mem/ruby/profiler/Profiler.hh"
-#include "mem/ruby/recorder/Tracer.hh"
 #include "mem/ruby/slicc_interface/RubyRequest.hh"
 #include "mem/ruby/system/CacheMemory.hh"
 #include "mem/ruby/system/Sequencer.hh"
index 81824b9b77ea38f59c84bf23188856a536d3a7a2..abba4eedc8045e4a89f7eb900370351505f9762e 100644 (file)
@@ -32,7 +32,6 @@
 #include "mem/ruby/common/Address.hh"
 #include "mem/ruby/network/Network.hh"
 #include "mem/ruby/profiler/Profiler.hh"
-#include "mem/ruby/recorder/Tracer.hh"
 #include "mem/ruby/slicc_interface/AbstractController.hh"
 #include "mem/ruby/system/MemoryVector.hh"
 #include "mem/ruby/system/System.hh"
@@ -49,7 +48,6 @@ int RubySystem::m_memory_size_bits;
 
 Network* RubySystem::m_network_ptr;
 Profiler* RubySystem::m_profiler_ptr;
-Tracer* RubySystem::m_tracer_ptr;
 MemoryVector* RubySystem::m_mem_vec_ptr;
 
 RubySystem::RubySystem(const Params *p)
@@ -108,12 +106,6 @@ RubySystem::registerProfiler(Profiler* profiler_ptr)
   m_profiler_ptr = profiler_ptr;
 }
 
-void
-RubySystem::registerTracer(Tracer* tracer_ptr)
-{
-  m_tracer_ptr = tracer_ptr;
-}
-
 void
 RubySystem::registerAbstractController(AbstractController* cntrl)
 {
@@ -124,7 +116,6 @@ RubySystem::~RubySystem()
 {
     delete m_network_ptr;
     delete m_profiler_ptr;
-    delete m_tracer_ptr;
     if (m_mem_vec_ptr)
         delete m_mem_vec_ptr;
 }
index 704cc3b2727b8279462f9587d45fee051645e315..bcc62a5184a3711a156c41417a154a52ef7bbcc7 100644 (file)
@@ -48,7 +48,6 @@ class CacheRecorder;
 class MemoryVector;
 class Network;
 class Profiler;
-class Tracer;
 
 class RubySystem : public SimObject
 {
@@ -86,13 +85,6 @@ class RubySystem : public SimObject
         return m_profiler_ptr;
     }
 
-    static Tracer*
-    getTracer()
-    {
-        assert(m_tracer_ptr != NULL);
-        return m_tracer_ptr;
-    }
-
     static MemoryVector*
     getMemoryVector()
     {
@@ -119,7 +111,6 @@ class RubySystem : public SimObject
 
     void registerNetwork(Network*);
     void registerProfiler(Profiler*);
-    void registerTracer(Tracer*);
     void registerAbstractController(AbstractController*);
 
   private:
@@ -145,7 +136,6 @@ class RubySystem : public SimObject
 
   public:
     static Profiler* m_profiler_ptr;
-    static Tracer* m_tracer_ptr;
     static MemoryVector* m_mem_vec_ptr;
     std::vector<AbstractController*> m_abs_cntrl_vec;
 };