From 1492ab066da6f683178638137bd395960d07c004 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Sat, 10 Nov 2012 17:18:00 -0600 Subject: [PATCH] ruby: bug in functionalRead, revert recent changes Recent changes to functionalRead() in the memory system was not correct. The change allowed for returning data from the first message found in the buffers of the memory system. This is not correct since it is possible that a timing message has data from an older state of the block. The changes are being reverted. --- src/mem/ruby/system/System.cc | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/mem/ruby/system/System.cc b/src/mem/ruby/system/System.cc index bbdcb3ebb..65bad07b3 100644 --- a/src/mem/ruby/system/System.cc +++ b/src/mem/ruby/system/System.cc @@ -495,26 +495,6 @@ RubySystem::functionalRead(PacketPtr pkt) } } - // Since we are here, this means that none of the controllers hold this - // address in a stable/base state. The function searches through all the - // buffers that exist in different cache, directory and memory - // controllers, and in the network components and reads the data portion - // of the first message that holds address specified in the packet. - for (unsigned int i = 0; i < num_controllers;++i) { - if (m_abs_cntrl_vec[i]->functionalReadBuffers(pkt)) { - return true; - } - } - - for (unsigned int i = 0; i < m_memory_controller_vec.size(); ++i) { - if (m_memory_controller_vec[i]->functionalReadBuffers(pkt)) { - return true; - } - } - - if (m_network_ptr->functionalRead(pkt)) { - return true; - } return false; } -- 2.30.2