Hi Everyone,

I started to run some simulations where I need to switch CPUs and I've recently just run into a couple of bugs related to draining. Both are pretty serious as they can potentially lead to very surprising when switching CPUs in the middle of a simulation where m5ops are used. I'd like some feedback on the proposed solutions before I post them for a formal review. I've split the description of the bugs into two separate emails to keep the email threads cleaner. This email discusses the second bug.


The second problem is due to the code committed as a result of RB1462[1] (HG changeset 34e3295b0e39). The changeset introduces a check in simulate() that causes the simulation loop to only deliver the first exit event at every tick. I really fail to see how it can be correct for the event loop to only be allowed to execute one exit event per tick. It supposedly fixes "early termination in multi-core simulation under SE mode", but shouldn't this have been fixed by adding support for handling exit events in the simulation script instead?

In my simulation runs I sometimes end up having an exit due to a finished drain scheduled at the same tick as an exit due to an m5fail pseudo op. I obviously want to know about the the second event as this tells me that my simulation failed and shouldn't go on wasting cycles. As far as I can tell, this changeset is obviously incorrect and should be reverted. Does anyone else have any opinions about this?

//Andreas

[1] http://reviews.gem5.org/r/1462/diff/
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to