Hi Pedro, The GIC is indeed the likely culprit as 8 PEs is the architectural limit of GICv2 (which is the interrupt controller used by VExpress_GEM5_V1, the default fs_bigLITTLE.py platform).
If using KVM I honestly don’t see an easy way around it: we have on upstream a device driver modification which allows to instantiate more than 8 CPUs with GICv2 [1]. It works if used in fully simulated CPU models; I suspect this won’t work with KVM though. We have recently provided support for KVM simulations with GICv3 [2]. This has been merged on develop and it will be part of the next gem5 release. This will allow FS simulations with more than 8 KVM CPUs. So either you base your work on develop, or you try to backport those patches to 21.1.0.2 Kind Regards Giacomo [1]: https://gem5.googlesource.com/arm/linux/+/a2e8bda41866718ade4856d31f6c87e7234a3add [2]: https://gem5-review.googlesource.com/c/public/gem5/+/55615 From: Pedro Becker via gem5-users <gem5-users@gem5.org> Date: Wednesday, 16 March 2022 at 15:35 To: gem5-users@gem5.org <gem5-users@gem5.org> Cc: Pedro Becker <pe...@ac.upc.edu> Subject: [gem5-users] Boot gets stuck sometimes ARM FS + KVM + 8 CPUs Hi all I'm trying to boot arm FS with KVM in an ARM machine (an Nvidia Jetson) with multiple cores. I had it working last year, on gem5 version 21.1.0.0. Later I had to update gem5 to version 21.1.0.2 because of some errors in the stats generation of version 21.1.0.0. So I had a lot of problems in the way, which were discussed here (https://lists.gem5.org/archives/list/gem5-users@gem5.org/thread/VCI74JOSRCQK3N64QRRGV3HLNVEYH4OC/#VCI74JOSRCQK3N64QRRGV3HLNVEYH4OC). But it was working. Now I'm back on using that setup, but I'm getting a weird behavior using the fs_bigLITTLE.py script: Basically, the boot is inconsistent with 8 CPUs. Sometimes it boots, sometimes it gets stuck at [ 0.194001] smp: Bringing up secondary CPUs ... I'm varying the numbers of <BIG_CPUS> and <LITTLE_CPUS> (such that <BIG_CPUS>+<LITTLE_CPUS> <= 8) in the command below: ./build/ARM/gem5.opt configs/example/arm/fs_bigLITTLE.py --kernel /scratch/pedro/aarch-my-system/binaries/vmlinux.arm64 --disk /scratch/pedro/ubuntu-18.04-arm64-8gb.img --cpu-type kvm --kvm-userspace-gic --mem-size 8GB --big-cpus <BIG_CPUS> --little-cpus <LITTLE_CPUS> --bootscript configs/boot/hello.rcS Using 8 big CPUs generally cause it to get stuck, actually. Using 7 or fewer CPUs never made caused it to get stuck. Big little configurations seem to boot fine (e.g. 6 big + 2 little). I wonder if it is because of using a simulated GIC to provide support to 8 CPUs. Is that a known behavior? Any workaround? Thank you. _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s