Hi, If I have this scenario, 2 cores, 2 levels of cache L1(private), L2(shared) Both the cores have generated a miss for address X. Core 0 - a read exclusive miss (its a write request) Core 1 - a read miss Now L2 MSHR has two targets for address X. When the first target is popped out, in satisfyCpuSideRequest, the block is invalidated at L2 and the response sent to Core 0. For the second target the assert should have failed (in satisfyCpuSideRequest) assert(blk && blk->isValid()); But I have never come across this assert failing even for 64 cores running PARSEC benchamarks. How is gem5 handling this particular scenario? If the address X was dirty in L2, how is gem5 responding back? I am a bit confused. Any light on this will be of great help. Thank you for your time.
-- *thanks®ards* *BISWABANDAN* http://www.cse.iitm.ac.in/~biswa/ “We might fall down, but we will never lay down. We might not be the best, but we will beat the best! We might not be at the top, but we will rise.”
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users