[gem5-users] Re: Boot gets stuck sometimes ARM FS + KVM + 8 CPUs

2022-03-17 Thread Pedro Becker via gem5-users
Thank you, Giacomo!

I'll take a look at the links you provide and try to merge the implemented 
GICv3 support into my local repo.
Regards,
Pedro.
___
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


[gem5-users] Re: Boot gets stuck sometimes ARM FS + KVM + 8 CPUs

2022-03-16 Thread Giacomo Travaglini via gem5-users
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 
Date: Wednesday, 16 March 2022 at 15:35
To: gem5-users@gem5.org 
Cc: Pedro Becker 
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  and  (such that 
+ <= 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  --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