Hi everyone,

I am a newbie to gem5, currently I am running ARM in FS mode,
CacheConfig.py was modified  to insert CommMonitor before L2 cache to log
the traffic:

 #system.l2.cpu_side = system.tol2bus.master
        #system.l2.mem_side = system.membus.slave
  # here is what I added
    system.monitor2 = CommMonitor()
    system.monitor2.trace=MemTraceProbe(trace_file="my_trace.trc.gz")
    system.monitor2.slave = system.tol2bus.master
    system.l2.cpu_side = system.monitor2.master
    system.l2.mem_side = system.membus.slave

Running command (only single core used)

M5_PATH=$(pwd)/.. ./build/ARM/gem5.opt --debug-flags=CommMonitor \
 configs/example/fs.py -n 2
--disk-image=../disks/aarch32-ubuntu-natty-headless.img --l2cahce

I can run this in SE mode without error but in FS mode, simulation halts
with error related to snoop_filter, quoted bellows

*panic condition !is_hit && (cachedLocations.size() >= maxEntryCount)
occurred: snoop filter exceeded capacity of 131072 cache blocks*
 @ tick 65492845500
[lookupSnoop:build/ARM/mem/snoop_filter.cc, line 183]
Memory Usage: 817676 KBytes
Program aborted at tick 65492845500
--- BEGIN LIBC BACKTRACE ---
./build/ARM/gem5.opt(_Z15print_backtracev+0x15)[0xb75815]
./build/ARM/gem5.opt(_Z12abortHandleri+0x36)[0xb87156]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7fdbf9b1b340]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39)[0x7fdbf806acc9]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7fdbf806e0d8]
./build/ARM/gem5.opt(_Z15__exit_epilogueiPKcS0_iS0_+0x1ec)[0xdb59ac]
./build/ARM/gem5.opt(_ZN11SnoopFilter11lookupSnoopEPK6Packet+0x636)[0xa8d9f6]
./build/ARM/gem5.opt(_ZN12CoherentXBar15recvAtomicSnoopEP6Packets+0x137)[0xa53747]
./build/ARM/gem5.opt(_ZN5Cache18doWritebacksAtomicERSt4listIP6PacketSaIS2_EE+0x35)[0xb4df35]
./build/ARM/gem5.opt(_ZN5Cache10recvAtomicEP6Packet+0x59a)[0xb551ba]
./build/ARM/gem5.opt(_ZN11CommMonitor10recvAtomicEP6Packet+0x8a)[0xa3b07a]
./build/ARM/gem5.opt(_ZN12CoherentXBar10recvAtomicEP6Packets+0x69f)[0xa5411f]
./build/ARM/gem5.opt(_ZN15AtomicSimpleCPU8writeMemEPhjmjPm+0x337)[0xd8a327]
./build/ARM/gem5.opt(_ZN17SimpleExecContext8writeMemEPhjmjPm+0x21)[0xd94e81]
./build/ARM/gem5.opt[0x14d97e7]
./build/ARM/gem5.opt(_ZNK10ArmISAInst28STORE_REG_AY_PN_SN_UN_WN_SZ47executeEP11ExecContextPN5Trace10InstRecordE+0x1b3)[0x14df1a3]
./build/ARM/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x28f)[0xd88eaf]
./build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb1)[0xb7f351]
./build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x38)[0xba0068]
./build/ARM/gem5.opt(_Z8simulatem+0x1fb)[0xba05eb]
./build/ARM/gem5.opt[0x951ffc]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x45f7)[0x7fdbf9733af7]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x80d)[0x7fdbf973554d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x48d8)[0x7fdbf9733dd8]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4b59)[0x7fdbf9734059]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4b59)[0x7fdbf9734059]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x80d)[0x7fdbf973554d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7fdbf9735682]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x563e)[0x7fdbf9734b3e]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x80d)[0x7fdbf973554d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x48d8)[0x7fdbf9733dd8]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x80d)[0x7fdbf973554d]
--- END LIBC BACKTRACE ---
Aborted (core dumped)

If I comment the following lines in snoop_filter.cc, simulation can be run
normally.

 //panic_if(!is_hit && (cachedLocations.size() >= maxEntryCount),
    //         "snoop filter exceeded capacity of %d cache blocks\n",
    //         maxEntryCount);

However I guess that is not the solution, I would appreciate if someone
could explain what is wrong in the configuration and how to fix that.

Thanks
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to