Config: Add support for restoring using a timing CPU
Currently there is an assumption that restoration from a checkpoint will happen by first restoring to an atomic CPU and then switching to a timing CPU. This patch adds support for directly restoring to a timing CPU. It adds a new option '--restore-with-cpu' which is used to specify the type of CPU to which the checkpoint should be restored to. It defaults to 'atomic' which was the case before.
This commit is contained in:
parent
bf59a9298f
commit
03229f2575
2 changed files with 13 additions and 1 deletions
|
@ -85,6 +85,10 @@ parser.add_option("--work-end-checkpoint-count", action="store", type="int",
|
|||
help="checkpoint at specified work end count")
|
||||
parser.add_option("--work-cpus-checkpoint-count", action="store", type="int",
|
||||
help="checkpoint and exit when active cpu count is reached")
|
||||
parser.add_option("--restore-with-cpu", action="store", type="choice",
|
||||
default="atomic", choices = ["atomic", "timing",
|
||||
"detailed", "inorder"],
|
||||
help = "cpu type for restoring from a checkpoint")
|
||||
|
||||
|
||||
# CPU Switching - default switch model goes from a checkpoint
|
||||
|
|
|
@ -60,7 +60,15 @@ def setCPUClass(options):
|
|||
test_mem_mode = 'atomic'
|
||||
|
||||
if not atomic:
|
||||
if options.checkpoint_restore != None or options.fast_forward:
|
||||
if options.checkpoint_restore != None:
|
||||
if options.restore_with_cpu != options.cpu_type:
|
||||
CPUClass = TmpClass
|
||||
class TmpClass(AtomicSimpleCPU): pass
|
||||
else:
|
||||
if options.restore_with_cpu != "atomic":
|
||||
test_mem_mode = 'timing'
|
||||
|
||||
elif options.fast_forward:
|
||||
CPUClass = TmpClass
|
||||
class TmpClass(AtomicSimpleCPU): pass
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue