Sequencer.cc (8615:e66a566f2cfa) | Sequencer.cc (8641:4d3ecac1abec) |
---|---|
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; --- 207 unchanged lines hidden (view full) --- 216 << " deadlock_threshold: " << m_deadlock_threshold << endl; 217} 218 219// Insert the request on the correct request table. Return true if 220// the entry was already present. 221RequestStatus 222Sequencer::insertRequest(PacketPtr pkt, RubyRequestType request_type) 223{ | 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; --- 207 unchanged lines hidden (view full) --- 216 << " deadlock_threshold: " << m_deadlock_threshold << endl; 217} 218 219// Insert the request on the correct request table. Return true if 220// the entry was already present. 221RequestStatus 222Sequencer::insertRequest(PacketPtr pkt, RubyRequestType request_type) 223{ |
224 int total_outstanding = 225 m_writeRequestTable.size() + m_readRequestTable.size(); | 224 assert(m_outstanding_count == 225 (m_writeRequestTable.size() + m_readRequestTable.size())); |
226 | 226 |
227 assert(m_outstanding_count == total_outstanding); 228 | |
229 // See if we should schedule a deadlock check 230 if (deadlockCheckEvent.scheduled() == false) { 231 schedule(deadlockCheckEvent, m_deadlock_threshold + curTick()); 232 } 233 234 Address line_addr(pkt->getAddr()); 235 line_addr.makeLineAddress(); 236 if ((request_type == RubyRequestType_ST) || --- 43 unchanged lines hidden (view full) --- 280 } else { 281 // There is an outstanding read request for the cache line 282 m_load_waiting_on_load_cycles++; 283 return RequestStatus_Aliased; 284 } 285 } 286 287 g_system_ptr->getProfiler()->sequencerRequests(m_outstanding_count); | 227 // See if we should schedule a deadlock check 228 if (deadlockCheckEvent.scheduled() == false) { 229 schedule(deadlockCheckEvent, m_deadlock_threshold + curTick()); 230 } 231 232 Address line_addr(pkt->getAddr()); 233 line_addr.makeLineAddress(); 234 if ((request_type == RubyRequestType_ST) || --- 43 unchanged lines hidden (view full) --- 278 } else { 279 // There is an outstanding read request for the cache line 280 m_load_waiting_on_load_cycles++; 281 return RequestStatus_Aliased; 282 } 283 } 284 285 g_system_ptr->getProfiler()->sequencerRequests(m_outstanding_count); |
288 total_outstanding = m_writeRequestTable.size() + m_readRequestTable.size(); 289 assert(m_outstanding_count == total_outstanding); | 286 assert(m_outstanding_count == 287 (m_writeRequestTable.size() + m_readRequestTable.size())); |
290 291 return RequestStatus_Ready; 292} 293 294void 295Sequencer::markRemoved() 296{ 297 m_outstanding_count--; --- 429 unchanged lines hidden --- | 288 289 return RequestStatus_Ready; 290} 291 292void 293Sequencer::markRemoved() 294{ 295 m_outstanding_count--; --- 429 unchanged lines hidden --- |