diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2007-07-03 00:40:31 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2007-07-03 00:40:31 -0400 |
commit | 4738649e32d06d92e6792b7ce80fcbd05627fc06 (patch) | |
tree | 1a47aa68b3f08f979e497ed6972667a2995954e6 /src/mem/cache | |
parent | 4b68652c87f61fe0a2fd4040b79130de0846df85 (diff) | |
download | gem5-4738649e32d06d92e6792b7ce80fcbd05627fc06.tar.xz |
Delete packets when we're done with them.
--HG--
extra : convert_revision : b8894d26e1ca7a6c9b736500accdaa53bfb09558
Diffstat (limited to 'src/mem/cache')
-rw-r--r-- | src/mem/cache/cache_impl.hh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index 0d76b6bec..320e0be81 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -705,6 +705,8 @@ Cache<TagStore>::handleResponse(PacketPtr pkt) deallocate = true; } + delete pkt; + if (deallocate) { mq->deallocate(mshr); if (wasFull && !mq->isFull()) { @@ -1242,6 +1244,9 @@ Cache<TagStore>::MemSidePort::sendPacket() waitingOnRetry = !success; if (waitingOnRetry) { DPRINTF(CachePort, "now waiting on a retry\n"); + if (!mshr->isSimpleForward()) { + delete pkt; + } } else { myCache()->markInService(mshr); } |