gem5-users@gem5.org

The gem5 Users mailing list

View all threads

KVM fail to boot all configured CPU

KS
Khan Shaikhul Hadi
Mon, Jun 16, 2025 8:42 PM

I've set up full system simulation with a switchable processor with
number_of_cpu=12 as follow:

processor = SimpleSwitchableProcessor(
    starting_core_type=CPUTypes.KVM,
    switch_core_type=CPUTypes.O3,
    num_cores=number_of_cpu,
    isa=isa,
)

I'm using ubuntu 18.04 custom image file
with x86-linux-kernel-5.4.0-105-generic. However during boot, gem5 fail to
wake up the CPU with following error:

[    0.300000] x86: Booting SMP configuration:
[    0.300000] .... node  #0, CPUs:        #1
[   10.308000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#1
[   10.308000]   #2
[   20.316000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#2
[   20.316000]   #3
[   30.324000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#3
[   30.324000]   #4
[   40.332000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#4
[   40.332000]   #5
[   50.340000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#5
[   50.340000]   #6
[   60.348000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#6
[   60.348000]   #7
[   70.356000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#7
[   70.356000]   #8
[   80.364000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#8
[   80.364000]   #9
[   90.372000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#9
[   90.372000]  #10
[  100.380000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#10
[  100.380000]  #11
[  110.388000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#11
[  110.388000] smp: Brought up 1 node, 1 CPU
[  110.388000] smpboot: Max logical packages: 12

However how many cpu failed to wakeup could vary ( sometimes 4, sometimes 6
and sometimes no cpu failed and no way to know beforehand ). I tried
multiple workstations (one with 6 cpu, one with 80 cpu and one with 144
cpu) yet the problem remains the same. For my simulation I need all 12 cpu
so that I could pin my workload to a specific cpu using taskset command
before switching to o3. Any suggestions on how could I solve this issue or
approach the problem ? Any insight would be helpful.

Thanks.

I've set up full system simulation with a switchable processor with number_of_cpu=12 as follow: ``` processor = SimpleSwitchableProcessor( starting_core_type=CPUTypes.KVM, switch_core_type=CPUTypes.O3, num_cores=number_of_cpu, isa=isa, ) ``` I'm using ubuntu 18.04 custom image file with x86-linux-kernel-5.4.0-105-generic. However during boot, gem5 fail to wake up the CPU with following error: ``` [ 0.300000] x86: Booting SMP configuration: [ 0.300000] .... node #0, CPUs: #1 [ 10.308000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#1 [ 10.308000] #2 [ 20.316000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#2 [ 20.316000] #3 [ 30.324000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#3 [ 30.324000] #4 [ 40.332000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#4 [ 40.332000] #5 [ 50.340000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#5 [ 50.340000] #6 [ 60.348000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#6 [ 60.348000] #7 [ 70.356000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#7 [ 70.356000] #8 [ 80.364000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#8 [ 80.364000] #9 [ 90.372000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#9 [ 90.372000] #10 [ 100.380000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#10 [ 100.380000] #11 [ 110.388000] smpboot: do_boot_cpu failed(-1) to wakeup CPU#11 [ 110.388000] smp: Brought up 1 node, 1 CPU [ 110.388000] smpboot: Max logical packages: 12 ``` However how many cpu failed to wakeup could vary ( sometimes 4, sometimes 6 and sometimes no cpu failed and no way to know beforehand ). I tried multiple workstations (one with 6 cpu, one with 80 cpu and one with 144 cpu) yet the problem remains the same. For my simulation I need all 12 cpu so that I could pin my workload to a specific cpu using `taskset` command before switching to o3. Any suggestions on how could I solve this issue or approach the problem ? Any insight would be helpful. Thanks.