diff options
author | Joel Hestness <jthestness@gmail.com> | 2013-04-09 16:25:29 -0500 |
---|---|---|
committer | Joel Hestness <jthestness@gmail.com> | 2013-04-09 16:25:29 -0500 |
commit | 46d4b71aa244da24453d86184f3cf2ba8b5bdbac (patch) | |
tree | 7bb37436da31b46adde025231f4912458cdae00d /src/mem/ruby/system | |
parent | e98c3c227da0b7c4a3e11e64eb80386727b3fa1c (diff) | |
download | gem5-46d4b71aa244da24453d86184f3cf2ba8b5bdbac.tar.xz |
Ruby: Delete packet requests during warmup
When warming up caches in Ruby, the CacheRecorder sends fetch requests into
Ruby Sequencers with packet types that require responses. Since responses are
never generated for these CacheRecorder requests, the requests are not deleted
in the packet destructor called from the Ruby hit callback. Free the request.
Diffstat (limited to 'src/mem/ruby/system')
-rw-r--r-- | src/mem/ruby/system/Sequencer.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index 5eacc976a..606dff0ab 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -560,6 +560,8 @@ Sequencer::hitCallback(SequencerRequest* srequest, delete srequest; if (g_system_ptr->m_warmup_enabled) { + assert(pkt->req); + delete pkt->req; delete pkt; g_system_ptr->m_cache_recorder->enqueueNextFetchRequest(); } else if (g_system_ptr->m_cooldown_enabled) { |