From fdaed2c7aeb0f2a34c6ef60cc7de7db8d8db62b3 Mon Sep 17 00:00:00 2001 From: Ron Dreslinski Date: Sat, 7 Oct 2006 12:20:29 -0400 Subject: No need to keep trying to request the data bus if we are already waiting. --HG-- extra : convert_revision : dbaad52ed8d0841dc9224661e3df0d8ef4989aa3 --- src/mem/cache/base_cache.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/mem/cache') diff --git a/src/mem/cache/base_cache.cc b/src/mem/cache/base_cache.cc index fd97ea3aa..4b62073d8 100644 --- a/src/mem/cache/base_cache.cc +++ b/src/mem/cache/base_cache.cc @@ -211,7 +211,11 @@ BaseCache::CacheEvent::process() //Know the packet to send pkt->result = Packet::Success; pkt->makeTimingResponse(); - if (!cachePort->sendTiming(pkt)) { + if (!drainList.empty()) { + //Already blocked waiting for bus, just append + cachePort->drainList.push_back(pkt); + } + else if (!cachePort->sendTiming(pkt)) { //It failed, save it to list of drain events cachePort->drainList.push_back(pkt); } -- cgit v1.2.3