Sequencer.cc (9224:b0539d08bda8) Sequencer.cc (9245:e215ee9db617)
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;

--- 71 unchanged lines hidden (view full) ---

80
81Sequencer::~Sequencer()
82{
83}
84
85void
86Sequencer::wakeup()
87{
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;

--- 71 unchanged lines hidden (view full) ---

80
81Sequencer::~Sequencer()
82{
83}
84
85void
86Sequencer::wakeup()
87{
88 assert(getState() != SimObject::Draining);
89
88 // Check for deadlock of any of the requests
89 Time current_time = g_system_ptr->getTime();
90
91 // Check across all outstanding requests
92 int total_outstanding = 0;
93
94 RequestTable::iterator read = m_readRequestTable.begin();
95 RequestTable::iterator read_end = m_readRequestTable.end();

--- 106 unchanged lines hidden (view full) ---

202// the entry was already present.
203RequestStatus
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
90 // Check for deadlock of any of the requests
91 Time current_time = g_system_ptr->getTime();
92
93 // Check across all outstanding requests
94 int total_outstanding = 0;
95
96 RequestTable::iterator read = m_readRequestTable.begin();
97 RequestTable::iterator read_end = m_readRequestTable.end();

--- 106 unchanged lines hidden (view full) ---

204// the entry was already present.
205RequestStatus
206Sequencer::insertRequest(PacketPtr pkt, RubyRequestType request_type)
207{
208 assert(m_outstanding_count ==
209 (m_writeRequestTable.size() + m_readRequestTable.size()));
210
211 // See if we should schedule a deadlock check
210 if (deadlockCheckEvent.scheduled() == false) {
212 if (!deadlockCheckEvent.scheduled() && getState() != SimObject::Draining) {
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 // Create a default entry, mapping the address to NULL, the cast is
218 // there to make gcc 4.4 happy

--- 519 unchanged lines hidden ---
213 schedule(deadlockCheckEvent,
214 g_system_ptr->clockPeriod() * m_deadlock_threshold + curTick());
215 }
216
217 Address line_addr(pkt->getAddr());
218 line_addr.makeLineAddress();
219 // Create a default entry, mapping the address to NULL, the cast is
220 // there to make gcc 4.4 happy

--- 519 unchanged lines hidden ---