Hi Andreas,
Actually, it appears the simple_dram does not drain properly at all in some
cases. You should be able to reproduce this error using a clean checkout (I
did add DPRINTFs to simple_dram.cc:drain()) without any modifications; the
following command line is what I ran:
./build/ALPHA/m5.opt --debug-flags=Drain ./configs/example/fs.py --caches
--l2cache --repeat-switch=100000000 --cpu-type=detailed
FS files are the standard ones available on the wiki.
The following drain trace appears:
command line: ./build/ALPHA/m5.opt --debug-flags=Drain
configs/example/fs.py --caches --l2cache --repeat-switch=100000000
--cpu-type=detailed
Global frequency set at 1000000000000 ticks per second
info: kernel located at: /home/tony/system/binaries/vmlinux
Listening for system connection on port 3456
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00
2009
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
**** REAL SIMULATION ****
starting switch loop
info: Entering event queue @ 0. Starting simulation...
draining the system
100000000: system.cpu: CPU not drained
100000000: system.cpu.icache.cpu_side-CpuSidePort: PacketQueue not drained
100000000: system.cpu.icache: Cache not drained
info: Entering event queue @ 100000000. Starting simulation...
100000500: system.cpu.icache.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
100011000: system.cpu: CPU done draining, processing drain event
hack: be nice to actually delete the event here
switching cpus
info: Entering event queue @ 100011000. Starting simulation...
draining the system
200011000: system.repeat_switch_cpus: CPU not drained
info: Entering event queue @ 200011000. Starting simulation...
200018500: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 200018500. Starting simulation...
draining the system
300018500: system.cpu: CPU not drained
info: Entering event queue @ 300018500. Starting simulation...
300035500: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 300035500. Starting simulation...
draining the system
400035500: system.membus.respLayer: Bus not drained
400035500: system.repeat_switch_cpus: CPU not drained
400035500: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
400035500: system.l2: Cache not drained
400035500: system.cpu.dcache: Cache not drained
info: Entering event queue @ 400035500. Starting simulation...
400042000: system.membus.respLayer: Bus done draining, signaling drain
manager
400045000: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
400740000: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 400740000. Starting simulation...
draining the system
500740000: system.physmem: dramRespQueue not drained
500740000: system.l2: Cache not drained
500740000: system.cpu: CPU not drained
500740000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 500740000. Starting simulation...
501464000: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 501464000. Starting simulation...
draining the system
601464000: system.repeat_switch_cpus: CPU not drained
601464000: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
601464000: system.l2: Cache not drained
601464000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 601464000. Starting simulation...
601467000: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
602162000: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 602162000. Starting simulation...
draining the system
702162000: system.physmem: dramRespQueue not drained
702162000: system.l2: Cache not drained
702162000: system.cpu: CPU not drained
702162000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 702162000. Starting simulation...
702884000: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 702884000. Starting simulation...
draining the system
802884000: system.membus.respLayer: Bus not drained
802884000: system.repeat_switch_cpus: CPU not drained
802884000: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
802884000: system.l2: Cache not drained
802884000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 802884000. Starting simulation...
802892000: system.membus.respLayer: Bus done draining, signaling drain
manager
802895000: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
803576000: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 803576000. Starting simulation...
draining the system
903576000: system.l2.mem_side-MemSidePort: PacketQueue not drained
903576000: system.l2: Cache not drained
903576000: system.cpu: CPU not drained
903576000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 903576000. Starting simulation...
903580000: system.l2.mem_side-MemSidePort: PacketQueue done
draining,processing drain event
904334000: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 904334000. Starting simulation...
draining the system
1004334000: system.repeat_switch_cpus: CPU not drained
1004334000: system.physmem: dramRespQueue not drained
1004334000: system.l2: Cache not drained
1004334000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 1004334000. Starting simulation...
1005078000: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 1005078000. Starting simulation...
draining the system
1105078000: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
1105078000: system.l2: Cache not drained
1105078000: system.cpu: CPU not drained
1105078000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 1105078000. Starting simulation...
1105084000: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
1105314000: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 1105314000. Starting simulation...
draining the system
1205314000: system.repeat_switch_cpus: CPU not drained
1205314000: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
1205314000: system.l2: Cache not drained
1205314000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 1205314000. Starting simulation...
1205318500: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
1205548500: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 1205548500. Starting simulation...
draining the system
1305548500: system.membus.reqLayer: Bus not drained
1305548500: system.physmem: dramRespQueue not drained
1305548500: system.l2: Cache not drained
1305548500: system.cpu: CPU not drained
1305548500: system.cpu.dcache: Cache not drained
info: Entering event queue @ 1305548500. Starting simulation...
1305549000: system.membus.reqLayer: Bus done draining, signaling drain
manager
1306274000: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 1306274000. Starting simulation...
draining the system
1406274000: system.repeat_switch_cpus: CPU not drained
info: Entering event queue @ 1406274000. Starting simulation...
1406966000: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 1406966000. Starting simulation...
draining the system
1506966000: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
1506966000: system.l2: Cache not drained
1506966000: system.cpu: CPU not drained
1506966000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 1506966000. Starting simulation...
1506969000: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
1507664000: system.cpu: CPU done draining, processing drain event
switching cpus
info: Entering event queue @ 1507664000. Starting simulation...
draining the system
1607664000: system.repeat_switch_cpus: CPU not drained
1607664000: system.l2.cpu_side-CpuSidePort: PacketQueue not drained
1607664000: system.l2: Cache not drained
1607664000: system.cpu.dcache: Cache not drained
info: Entering event queue @ 1607664000. Starting simulation...
1607667000: system.l2.cpu_side-CpuSidePort: PacketQueue done
draining,processing drain event
1608362000: system.repeat_switch_cpus: CPU done draining, processing drain
event
switching cpus
info: Entering event queue @ 1608362000. Starting simulation...
draining the system
1708362000: system.physmem: dramWriteQueue not drained
1708362000: system.cpu: CPU not drained
info: Entering event queue @ 1708362000. Starting simulation...
1709054000: system.cpu: CPU done draining, processing drain event
-Tony
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users