Re: riscv64 system emulation maximum core count with virt machine
Thanks Rahul, After some digging I came to the same conclusions. I'll dig deeper to see if there are any impacts in raising max CPU count for RISC-V Virt machine, but I definitely agree that it should be set higher. FWIW, I was able to run a 32-core kernel after adjusting code and kernel appropriately and don't recall any warning or error messages popping up. Best, Mark On Wed, Sep 29, 2021 at 10:16 AM Rahul Pathak wrote: > If you want to boot with more than 8 harts then you also need to increase > the CONFIG_NR_CPUS in the kernel. Along with change in QEMU - VIRT_CPUS_MAX > in "include/hw/riscv/virt.h" > > But, the limit of 8 is low and should be increased. Don't know the reason > why its 8. > > On Sep 22 2021, at 10:19 pm, Mark Wyse wrote: > > Hello all, > > Apologies if I missed the answer in the docs, but I am wondering why the > virt machine is limited to only 8 cores when running RISC-V 64 system > emulation? I am interested in booting a 16, 24, or even 32 core SMP Linux > kernel with OpenSBI as the bootloader on the generic virt machine before > adding a custom machine definition. I was able to successfully boot Linux > kernel 5.9.0 with OpenSBI v0.9 and 8 cores/harts with an ext4 filesystem > provided by Buildroot. > > I poked around the docs and source code a bit, and found mention of the > core count limit in the docs ( > https://qemu.readthedocs.io/en/latest/system/riscv/virt.html), but no > reason as to why this is the limit. It also appears that providing a custom > device tree blob and setting QEMU's -smp option to match might overcome > this limitation, but it would be better if more than 8 cores was supported > directly. > > Best, > Mark > > *Mark Wyse* > pronouns: he/him/his > PhD Student > Paul G. Allen School of Computer Science & Engineering > University of Washington > >
Re: riscv64 system emulation maximum core count with virt machine
If you want to boot with more than 8 harts then you also need to increase the CONFIG_NR_CPUS in the kernel. Along with change in QEMU - VIRT_CPUS_MAX in "include/hw/riscv/virt.h" But, the limit of 8 is low and should be increased. Don't know the reason why its 8. On Sep 22 2021, at 10:19 pm, Mark Wyse wrote: > Hello all, > > Apologies if I missed the answer in the docs, but I am wondering why the virt > machine is limited to only 8 cores when running RISC-V 64 system emulation? I > am interested in booting a 16, 24, or even 32 core SMP Linux kernel with > OpenSBI as the bootloader on the generic virt machine before adding a custom > machine definition. I was able to successfully boot Linux kernel 5.9.0 with > OpenSBI v0.9 and 8 cores/harts with an ext4 filesystem provided by Buildroot. > > I poked around the docs and source code a bit, and found mention of the core > count limit in the docs > (https://qemu.readthedocs.io/en/latest/system/riscv/virt.html), but no reason > as to why this is the limit. It also appears that providing a custom device > tree blob and setting QEMU's -smp option to match might overcome this > limitation, but it would be better if more than 8 cores was supported > directly. > > Best, > Mark > > Mark Wyse > pronouns: he/him/his > PhD Student > Paul G. Allen School of Computer Science & Engineering > University of Washington > > > > > > >
riscv64 system emulation maximum core count with virt machine
Hello all, Apologies if I missed the answer in the docs, but I am wondering why the virt machine is limited to only 8 cores when running RISC-V 64 system emulation? I am interested in booting a 16, 24, or even 32 core SMP Linux kernel with OpenSBI as the bootloader on the generic virt machine before adding a custom machine definition. I was able to successfully boot Linux kernel 5.9.0 with OpenSBI v0.9 and 8 cores/harts with an ext4 filesystem provided by Buildroot. I poked around the docs and source code a bit, and found mention of the core count limit in the docs ( https://qemu.readthedocs.io/en/latest/system/riscv/virt.html), but no reason as to why this is the limit. It also appears that providing a custom device tree blob and setting QEMU's -smp option to match might overcome this limitation, but it would be better if more than 8 cores was supported directly. Best, Mark *Mark Wyse* pronouns: he/him/his PhD Student Paul G. Allen School of Computer Science & Engineering University of Washington