From 5b6f972750f8e9288e81f30d69aecfe1f1960f06 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Thu, 17 Jan 2013 13:10:12 -0600 Subject: [PATCH] ruby: remove calls to g_system_ptr->getTime() This patch further removes calls to g_system_ptr->getTime() where ever other clocked objects are available for providing current time. --- src/cpu/testers/rubytest/Check.cc | 8 +++----- src/cpu/testers/rubytest/Check.hh | 2 +- src/cpu/testers/rubytest/RubyTester.cc | 6 +++--- .../ruby/network/garnet/fixed-pipeline/OutVcState_d.cc | 2 +- src/mem/ruby/structures/Prefetcher.cc | 4 ++-- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/cpu/testers/rubytest/Check.cc b/src/cpu/testers/rubytest/Check.cc index 7de3415b1..a861dbfd8 100644 --- a/src/cpu/testers/rubytest/Check.cc +++ b/src/cpu/testers/rubytest/Check.cc @@ -276,7 +276,7 @@ Check::initiateCheck() } void -Check::performCallback(NodeID proc, SubBlock* data) +Check::performCallback(NodeID proc, SubBlock* data, Time curTime) { Address address = data->getAddress(); @@ -312,8 +312,7 @@ Check::performCallback(NodeID proc, SubBlock* data) "Time: %d\n", proc, address, data, byte_number, (int)m_value + byte_number, - (int)data->getByte(byte_number), *this, - g_system_ptr->getTime()); + (int)data->getByte(byte_number), *this, curTime); } } DPRINTF(RubyTest, "Action/check success\n"); @@ -327,8 +326,7 @@ Check::performCallback(NodeID proc, SubBlock* data) } else { panic("Unexpected TesterStatus: %s proc: %d data: %s m_status: %s " - "time: %d\n", - *this, proc, data, m_status, g_system_ptr->getTime()); + "time: %d\n", *this, proc, data, m_status, curTime); } DPRINTF(RubyTest, "proc: %d, Address: 0x%x\n", proc, diff --git a/src/cpu/testers/rubytest/Check.hh b/src/cpu/testers/rubytest/Check.hh index 6396189cc..47d790b1e 100644 --- a/src/cpu/testers/rubytest/Check.hh +++ b/src/cpu/testers/rubytest/Check.hh @@ -50,7 +50,7 @@ class Check int _num_readers, RubyTester* _tester); void initiate(); // Does Action or Check or nether - void performCallback(NodeID proc, SubBlock* data); + void performCallback(NodeID proc, SubBlock* data, Time curTime); const Address& getAddress() { return m_address; } void changeAddress(const Address& address); diff --git a/src/cpu/testers/rubytest/RubyTester.cc b/src/cpu/testers/rubytest/RubyTester.cc index 6ddab93e8..085647533 100644 --- a/src/cpu/testers/rubytest/RubyTester.cc +++ b/src/cpu/testers/rubytest/RubyTester.cc @@ -191,7 +191,7 @@ void RubyTester::hitCallback(NodeID proc, SubBlock* data) { // Mark that we made progress - m_last_progress_vector[proc] = g_system_ptr->getTime(); + m_last_progress_vector[proc] = curCycle(); DPRINTF(RubyTest, "completed request for proc: %d\n", proc); DPRINTF(RubyTest, "addr: 0x%x, size: %d, data: ", @@ -205,7 +205,7 @@ RubyTester::hitCallback(NodeID proc, SubBlock* data) // back the data to make the check Check* check_ptr = m_checkTable_ptr->getCheck(data->getAddress()); assert(check_ptr != NULL); - check_ptr->performCallback(proc, data); + check_ptr->performCallback(proc, data, curCycle()); } void @@ -229,7 +229,7 @@ void RubyTester::checkForDeadlock() { int size = m_last_progress_vector.size(); - Time current_time = g_system_ptr->getTime(); + Time current_time = curCycle(); for (int processor = 0; processor < size; processor++) { if ((current_time - m_last_progress_vector[processor]) > m_deadlock_threshold) { diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc b/src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc index 5aa60d754..d006591c0 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc +++ b/src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc @@ -37,7 +37,7 @@ OutVcState_d::OutVcState_d(int id, GarnetNetwork_d *network_ptr) m_network_ptr = network_ptr; m_id = id; m_vc_state = IDLE_; - m_time = g_system_ptr->getTime(); + m_time = m_network_ptr->curCycle(); if (m_network_ptr->get_vnet_type(id) == DATA_VNET_) m_credit_count = m_network_ptr->getBuffersPerDataVC(); diff --git a/src/mem/ruby/structures/Prefetcher.cc b/src/mem/ruby/structures/Prefetcher.cc index 5135c2bb2..47caf1cc8 100644 --- a/src/mem/ruby/structures/Prefetcher.cc +++ b/src/mem/ruby/structures/Prefetcher.cc @@ -248,7 +248,7 @@ Prefetcher::issueNextPrefetch(const Address &address, PrefetchEntry *stream) // launch next prefetch stream->m_address = line_addr; - stream->m_use_time = g_system_ptr->getTime(); + stream->m_use_time = m_controller->curCycle(); DPRINTF(RubyPrefetcher, "Requesting prefetch for %s\n", line_addr); m_controller->enqueuePrefetch(line_addr, stream->m_type); } @@ -290,7 +290,7 @@ Prefetcher::initializeStream(const Address& address, int stride, PrefetchEntry *mystream = &(m_array[index]); mystream->m_address = line_address(address); mystream->m_stride = stride; - mystream->m_use_time = g_system_ptr->getTime(); + mystream->m_use_time = m_controller->curCycle(); mystream->m_is_valid = true; mystream->m_type = type; -- 2.30.2