Dear gem5-ers - I've run across something, which unfortunately I cannot reliably repeat, that suggests an oversight in the code of src/mem/cache/base.cc. In particular, it appears that a HardPFResp can arrive where the MSHR remembered in the packet's senderState no longer has any targets. This causes this line to fail with an assertion error in getTarget():
const QueueEntry::Target *initial_tgt = mshr->getTarget(); Presumably some suitable conditionalization on mshr->hasTargets() could be used to fix things, unless the problem is that somehow the target(s) disappeared when they should not have. My suspicion is that something to do with snooping by another cache caused the target to go away, and the situation should just be ignored, but I did not want to attempt a fix along the lines of testing hasTargets() without further confirmation. There is also the question of what to do about the stats in this case, there being no obvious basis for determining a latency. [We could change the senderState to include the time the prefetch began, though, and use HardPFReq as the command.] Regards - Eliot Moss _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org