1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 115 unchanged lines hidden (view full) --- 124 total_outstanding += m_writeRequestTable.size(); 125 total_outstanding += m_readRequestTable.size(); 126 127 assert(m_outstanding_count == total_outstanding); 128 129 if (m_outstanding_count > 0) { 130 // If there are still outstanding requests, keep checking 131 schedule(deadlockCheckEvent, |
132 g_system_ptr->clockPeriod() * m_deadlock_threshold + curTick()); |
133 } 134} 135 136void 137Sequencer::printStats(ostream & out) const 138{ 139 out << "Sequencer: " << m_name << endl 140 << " store_waiting_on_load_cycles: " --- 63 unchanged lines hidden (view full) --- 204Sequencer::insertRequest(PacketPtr pkt, RubyRequestType request_type) 205{ 206 assert(m_outstanding_count == 207 (m_writeRequestTable.size() + m_readRequestTable.size())); 208 209 // See if we should schedule a deadlock check 210 if (deadlockCheckEvent.scheduled() == false) { 211 schedule(deadlockCheckEvent, |
212 g_system_ptr->clockPeriod() * m_deadlock_threshold + curTick()); |
213 } 214 215 Address line_addr(pkt->getAddr()); 216 line_addr.makeLineAddress(); 217 if ((request_type == RubyRequestType_ST) || 218 (request_type == RubyRequestType_RMW_Read) || 219 (request_type == RubyRequestType_RMW_Write) || 220 (request_type == RubyRequestType_Load_Linked) || --- 511 unchanged lines hidden --- |