From c223b887fe6e40bc044f0bd8e032b5ab0a366c9d Mon Sep 17 00:00:00 2001 From: Geoffrey Blake Date: Mon, 23 May 2011 10:40:19 -0500 Subject: O3: Fix issue w/wbOutstading being decremented multiple times on blocked cache. If a split load fails on a blocked cache wbOutstanding can be decremented twice if the first part of the split load succeeds and the second part fails. Condition the decrementing on not having completed the first part of the load. --- src/cpu/o3/iew_impl.hh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/cpu/o3/iew_impl.hh') diff --git a/src/cpu/o3/iew_impl.hh b/src/cpu/o3/iew_impl.hh index 3bdf1f28d..00a7ef0d9 100644 --- a/src/cpu/o3/iew_impl.hh +++ b/src/cpu/o3/iew_impl.hh @@ -1221,7 +1221,9 @@ DefaultIEW::executeInsts() // Check if the instruction is squashed; if so then skip it if (inst->isSquashed()) { - DPRINTF(IEW, "Execute: Instruction was squashed.\n"); + DPRINTF(IEW, "Execute: Instruction was squashed. PC: %s, [tid:%i]" + " [sn:%i]\n", inst->pcState(), inst->threadNumber, + inst->seqNum); // Consider this instruction executed so that commit can go // ahead and retire the instruction. -- cgit v1.2.3