THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#337 - Checkpoint Tester Identifies Mismatches (Bugs) for X86_FS
User who did this: - Gabe Black (gblack)

----------
The differences in state look like basically one more (or less)
instruction/microop executed between the two instances. My very off
the cuff hunch is that the macroop isn't being checkpointed, so when
the CPU starts up again it has to fetch the instruction, decode it to
a macroop, and then start executing the microops. When it's not from a
checkpoint, the macroop is already there and ready to go. If that is
what's happening, no trivial fix springs to mind, though here are some
non-trivial possibilities. One would be to force the current macroop
to finish executing and consider that part of draining (right term?),
although there's no guaranteed bound to how long a macroop can take.
They would practically tend to be short, but "tend to" isn't something
to design around. Alternatively, when dropping a checkpoint we could
just forcefully lose track of the macroop so it has to be fetched
again in both cases. A third option would be to serialize the macroop
itself by serializing it's ExtMachInst, although I suspect there would
be complications and it isn't clear it would be worthwhile unless
checkpointing was frequent enough to cause statistically meaningful
differences in behavior without that sort of thing.
----------

More information can be found at the following URL:
http://www.m5sim.org/flyspray/task/337#comment159

You are receiving this message because you have requested it from the
Flyspray bugtracking system.  You can be removed from future
notifications by visiting the URL shown above.

_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to