| ~ | | Changeset 10169:059294941a1b |
| | ~ | Changeset 10170:d8060adbdd29 |
| | |
|
| | | fix draining bug where multiple cores hit max_insts_any_thread simultaneously |
| - | |
|
| - | | This can occur when using fast-forwarding for two cores. Both cores hit max_insts_any_thread simultaneously, the first causes an event that drops back to python, but then second event stays in the queue. If this occurs while trying to switch cores, drain's simulate() returns with the second max_insts event, rather than the Drain Finished event. This just adds a loop to wait until the Drain Finished event occurs. |
| - | |
|
| - | | |
| - | |
|
| - | | |
| - | |
|
| - | | =======================
|
| - | | Unmodified test case
|
| - | | ======================= |
| - | |
|
| - | | ./build/ARM/gem5.debug configs/example/se.py -n2 --cpu-type=detailed --caches -F 100 --maxinsts=10000 --cmd="sjeng;sjeng"
|
| - | | gem5 Simulator System. http://gem5.org
|
| - | | gem5 is copyrighted software; use the --copyright option for details. |
| - | |
|
| - | | gem5 compiled Apr 16 2014 09:34:34
|
| - | | gem5 started Apr 22 2014 09:16:09
|
| - | | gem5 executing on morgoth
|
| - | | command line: ./build/ARM/gem5.debug configs/example/se.py -n2 --cpu-type=detailed --caches -F 100 --maxinsts=10000 --cmd=sjeng;sjeng
|
| - | | Global frequency set at 1000000000000 ticks per second
|
| - | | 0: system.switch_cpus0.isa: ISA system set to: 0 0x5707680
|
| - | | 0: system.switch_cpus1.isa: ISA system set to: 0 0x5707680
|
| - | | 0: system.cpu0.isa: ISA system set to: 0 0x5707680
|
| - | | 0: system.cpu1.isa: ISA system set to: 0 0x5707680
|
| - | | 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
| - | | 0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
|
| - | | Switch at instruction count:100
|
| - | | info: Entering event queue @ 0. Starting simulation...
|
| - | | Switched CPUS @ tick 61500
|
| - | | switching cpus
|
| - | | info: Entering event queue @ 61500. Starting simulation...
|
| - | | gem5.debug: build/ARM/python/swig/drain_wrap.cc:3233: void cleanupDrainManager(DrainManager*): Assertion `drain_manager->getCount() == 0' failed.
|
| - | | Program aborted at cycle 61500
|
| - | | Aborted (core dumped) |
| - | |
|
| - | | |
| - | |
|
| - | | =======================
|
| - | | Modified test case
|
| - | | ======================= |
| - | |
|
| - | | ./build/ARM/gem5.debug configs/example/se.py -n2 --cpu-type=detailed --caches -F 100 --maxinsts=10000 --cmd="sjeng;sjeng"
|
| - | | gem5 Simulator System. http://gem5.org
|
| - | | gem5 is copyrighted software; use the --copyright option for details. |
| - | |
|
| - | | gem5 compiled Apr 22 2014 09:48:20
|
| - | | gem5 started Apr 22 2014 09:54:03
|
| - | | gem5 executing on morgoth
|
| - | | command line: ./build/ARM/gem5.debug configs/example/se.py -n2 --cpu-type=detailed --caches -F 100 --maxinsts=10000 --cmd=sjeng;sjeng
|
| - | | Global frequency set at 1000000000000 ticks per second
|
| - | | 0: system.switch_cpus0.isa: ISA system set to: 0 0x51f4680
|
| - | | 0: system.switch_cpus1.isa: ISA system set to: 0 0x51f4680
|
| - | | 0: system.cpu0.isa: ISA system set to: 0 0x51f4680
|
| - | | 0: system.cpu1.isa: ISA system set to: 0 0x51f4680
|
| - | | 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
| - | | 0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
|
| - | | Switch at instruction count:100
|
| - | | info: Entering event queue @ 0. Starting simulation...
|
| - | | Switched CPUS @ tick 61500
|
| - | | switching cpus
|
| - | | info: Entering event queue @ 61500. Starting simulation...
|
| - | | info: Entering event queue @ 61500. Starting simulation...
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | warn: User mode does not have SPSR
|
| - | | * REAL SIMULATION *
|
| - | | info: Entering event queue @ 62000. Starting simulation...
|
| - | | warn: CP14 unimplemented crn[14], opc1[7], crm[15], opc2[7]
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | info: Increasing stack size by one page.
|
| - | | Exiting @ tick 16120500 because a thread reached the max instruction count |