mem: Fix Best Offset Prefetcher (BOP) learning phase code.
According to the DPC paper : "If the best score is less than or equal to a fixed value BADSCORE, we turn prefetchoff during the next phase" However, the current code will turn prefetch off if the best *offset* of the learning phase is less than BADSCORE, which is incorrect. Change-Id: Ib5790fe1341f2dd6328ec3b018bc52012e376723 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/46259 Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Arthur Perais
parent
e2edde5cd5
commit
efc9a68620
2
src/mem/cache/prefetch/bop.cc
vendored
2
src/mem/cache/prefetch/bop.cc
vendored
@@ -217,7 +217,7 @@ BOP::bestOffsetLearning(Addr x)
|
||||
phaseBestOffset = 0;
|
||||
resetScores();
|
||||
issuePrefetchRequests = true;
|
||||
} else if (phaseBestOffset <= badScore) {
|
||||
} else if (bestScore <= badScore) {
|
||||
issuePrefetchRequests = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user