Hello, I am running into an assertion failure, assert(!downstreamPending), in MSHR::clearDownstreamPending(). This assert fails some of the time, but not always. My question is, what is the difference between markedPending and downstreamPending? It seems that marked pending is only every used inside of TargetList::clearDownStremPending() to determine whether or not a recursive call to mshr->clearDownStreamPending() should be made. But, it's never set outside of the ctor. I am wondering if the use of iterators with recursion is causing some sort of memory corruption. Should the if() inside of TargetList::clearDownstreamPending() check for downstreamPending? As opposed to markedPending?
Thanks, Tony
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
