I haven't looked at the code yet, but this is probably because the v9 implementation is getting asynchronous input which might be received by one thread, which then tries to schedule an event on an event queue associated with another queue. Most of the time this is not an issue since gem5 is usually single threaded, but when using multiple cores with KVM, each core runs in its own thread. There's a way to add events to the event queue in another thread safely (ScopedMigration) which I'm assuming the v9 code is not using.
Gabe On Sun, Mar 7, 2021 at 8:38 PM Liyichao via gem5-users <[email protected]> wrote: > Hi All: > > > > When I use –vio-9p with fs_bigLITTLE.py, 1 core the mount cmd was > ok, but more than 1 core, mount cmd will cause GEM5 crash > > > > 1core: > > Gem5 cmd: ./build/ARM/gem5.opt --debug-flags=Exec -d > /home/l00515693/m5out configs/example/arm/fs_bigLITTLE.py --cpu-type=kvm > --kernel=vmlinux --machine-type=VExpress_GEM5_V1 > --disk=expanded-aarch64-ubuntu-trusty-headless.img --caches > --big-cpu-clock=2.6GHz --little-cpu-clock=2.6GHz --big-cpus=1 > --little-cpus=0 --mem-size=4GB --param 'system.realview.gic.gem5_extensions > = True' --bootscript=./test.rcS --vio-9p > > Mount cmd in guest OS: mount -t 9p -o > trans=virtio,version=9p2000.L,aname=/home/l00515693/m5out/9p/share gem5 > /mnt/9p > > root@charlie:~# df -h > > Filesystem Size Used Avail Use% Mounted on > > /dev/root 9.9G 3.3G 6.2G 35% / > > devtmpfs 2.0G 4.0K 2.0G 1% /dev > > none 4.0K 0 4.0K 0% /sys/fs/cgroup > > none 396M 52K 396M 1% /run > > none 5.0M 0 5.0M 0% /run/lock > > none 2.0G 0 2.0G 0% /run/shm > > none 100M 0 100M 0% /run/user > > gem5 2.9T 1.8T 989G 65% /mnt/9p > > > > > > > > 2core: > > Gem5 cmd: ./build/ARM/gem5.opt --debug-flags=Exec -d > /home/l00515693/m5out configs/example/arm/fs_bigLITTLE.py --cpu-type=kvm > --kernel=vmlinux --machine-type=VExpress_GEM5_V1 > --disk=expanded-aarch64-ubuntu-trusty-headless.img --caches > --big-cpu-clock=2.6GHz --little-cpu-clock=2.6GHz --big-cpus=2 > --little-cpus=0 --mem-size=4GB --param 'system.realview.gic.gem5_extensions > = True' --bootscript=./test.rcS --vio-9p > > > > Mount cmd in guest OS: mount -t 9p -o > trans=virtio,version=9p2000.L,aname=/home/l00515693/m5out/9p/share gem5 > /mnt/9p > > > > GEM5 crash info: > > gem5.opt: build/ARM/sim/eventq_impl.hh:40: void > EventQueue::schedule(Event*, Tick, bool): Assertion `when >= getCurTick()' > failed. > > Program aborted at tick 476281849910020 > > --- BEGIN LIBC BACKTRACE --- > > ./build/ARM/gem5.opt(_Z15print_backtracev+0x40)[0xaaaadd24e418] > > ./build/ARM/gem5.opt(_Z12abortHandleri+0x5c)[0xaaaadd25efa4] > > linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffff9fea5688] > > /lib/aarch64-linux-gnu/libc.so.6(raise+0xb0)[0xffff9f6634f8] > > --- END LIBC BACKTRACE --- > > Aborted (core dumped) > > > _______________________________________________ > gem5-users mailing list -- [email protected] > To unsubscribe send an email to [email protected] > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________ gem5-users mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
