You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to do the following: using kvm to fast forward X number of instructions even after the 'm5 exit", then use atomic cpu to step through max_insts, and collect stats.
The issue is the sim_quantum (1 billion) added to the MainEventQueue[0], causing the actual executed instructions to always ~(max_insts+2million instructions). I'm wondering how to get exactly max_insts on the atomic CPU after the switching of CPU.
This only partially fixes the problem of exit events being off given
a specified tick. This will still occur in the case a
SwitchableProcessor is used containing KVM cores. E.g., non-KVM cores
will still be "off" when KVM cores are switched out. This issue will
be addressed in a later commit.
I'm trying to fix it by selectively adding sim_quantum to the MainEventQueue, if it's max_inst, then I add 1000 instead of the sim_quantum. But that causing assertion like "
gem5.opt: src/sim/simulate.cc:305: gem5::Event* gem5::doSimLoop(gem5::EventQueue*): Assertion `curTick() <= eventq->nextTick() && "event scheduled in the past"' failed."
Will this work? After the CPU switching, setting the sim_quantam to 1 will solve the issue? That requires setting the simQauntum in the python harness.
If it's not a proper fix, what do you suggest to fix the issue?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I'm trying to do the following: using kvm to fast forward X number of instructions even after the 'm5 exit", then use atomic cpu to step through max_insts, and collect stats.
The issue is the sim_quantum (1 billion) added to the MainEventQueue[0], causing the actual executed instructions to always ~(max_insts+2million instructions). I'm wondering how to get exactly max_insts on the atomic CPU after the switching of CPU.
according to the commit https://gem5.googlesource.com/public/gem5/+/36a1b6a73
I'm trying to fix it by selectively adding sim_quantum to the MainEventQueue, if it's max_inst, then I add 1000 instead of the sim_quantum. But that causing assertion like "
gem5.opt: src/sim/simulate.cc:305: gem5::Event* gem5::doSimLoop(gem5::EventQueue*): Assertion `curTick() <= eventq->nextTick() && "event scheduled in the past"' failed."
Will this work? After the CPU switching, setting the sim_quantam to 1 will solve the issue? That requires setting the simQauntum in the python harness.
If it's not a proper fix, what do you suggest to fix the issue?
Thanks a lot.
Chun
Beta Was this translation helpful? Give feedback.
All reactions