mem-cache: schedule already ready pf next cycle
Fix a bug where a ready prefetch request was not sent directly because the schedMemSideSendEvent was not called with the right time. This fix mimics what is done in recvTimingResp. Change-Id: Ib11f8003ca1b006d976c8cc8ea541434b8902beb Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67473 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
This commit is contained in:
3
src/mem/cache/base.cc
vendored
3
src/mem/cache/base.cc
vendored
@@ -464,7 +464,8 @@ BaseCache::recvTimingReq(PacketPtr pkt)
|
||||
|
||||
if (prefetcher) {
|
||||
// track time of availability of next prefetch, if any
|
||||
Tick next_pf_time = prefetcher->nextPrefetchReadyTime();
|
||||
Tick next_pf_time = std::max(
|
||||
prefetcher->nextPrefetchReadyTime(), clockEdge());
|
||||
if (next_pf_time != MaxTick) {
|
||||
schedMemSideSendEvent(next_pf_time);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user