Hello,

I wonder if you have a maximum number of vcpus set on your host system.
Otherwise, I can't think of any specific limitation to creating vcpus.

Cheers,
Jason

On Tue, May 11, 2021 at 2:36 AM Liyichao <liyic...@huawei.com> wrote:

> Hi Jason:
>
>
>
>          I use strace to follow the call stack, I find that the ioctl()
> with KVM_CREATE_VCPU returned EEXIST errno, this means the vCPU exist.
>
>
>
>            ioctl(5, KVM_CREATE_VCPU, 2)            = -1 EEXIST (File
> exists)
>
>
>
>
>
> *发件人:* Liyichao
> *发送时间:* 2021年5月11日 12:54
> *收件人:* 'Jason Lowe-Power' <ja...@lowepower.com>; gem5 users mailing list <
> gem5-users@gem5.org>
> *主题:* 答复: [gem5-users] Fail to bootup with KVM in se.py on X86 arch
>
>
>
> Hi Jason:
>
>          I have add a DPRINTF in line 559 of vm.cc , it showed “      0:
> system.kvm_vm: *************debug vcpuID is 0”
>
>
>
>          Any KVM use limitations in X86?
>
>
>
>
>
> gem5 version 21.0.0.0
>
> gem5 compiled May 11 2021 01:04:20
>
> gem5 started May 11 2021 01:09:26
>
> gem5 executing on ubuntu, pid 53534
>
> command line: ./build/X86/gem5.opt --debug-flags=Kvm configs/example/se.py
> --cpu-type=X86KvmCPU --cpu-clock=2.6GHz --sys-clock=2.6GHz --caches
> --l1d_size=64kB --l1i_size=64kB --l2cache --l2_size=32MB --mem-size=32GB
> --num-cpus=1 -I 5000 -c ./test
>
>
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.master is deprecated. `master` is now called `mem_side_ports`
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
>
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> Global frequency set at 1000000000000 ticks per second
>
> warn: DRAM device capacity (8192 Mbytes) does not match the address range
> assigned (32768 Mbytes)
>
>       0: system.cpu: vcpuID is 0
>
> 0: system.remote_gdb: listening for remote gdb on port 7000
>
>       0: system.cpu: ActivateContext 0
>
> **** REAL SIMULATION ****
>
>       0: system.kvm_vm: Mapping 1 memory region(s)
>
>       0: system.kvm_vm: Mapping region: 0x0x7f0b007b7000 -> 0x0 [size:
> 0x800000000]
>
>       0: system.kvm_vm: vmFD is 5, p1 is 140724538190576
>
>       0: system.cpu: charlie, vcpuID is 0
>
>       0: system.kvm_vm: vmFD is 5, p1 is 0
>
>       0: system.kvm_vm: *************debug vcpuID is 0
>
> panic: KVM: Failed to create virtual CPU
>
> Memory Usage: 33838804 KBytes
>
> Program aborted at tick 0
>
> --- BEGIN LIBC BACKTRACE ---
>
> ./build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x5622a4c15f8c]
>
> ./build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x5622a4c30b6a]
>
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f1305ea6980]
>
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f1304430fb7]
>
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f1304432921]
>
> ./build/X86/gem5.opt(+0x6e5cef)[0x5622a3f20cef]
>
> ./build/X86/gem5.opt(_ZN5KvmVM10createVCPUEl+0x9ff)[0x5622a4953b8f]
>
> ./build/X86/gem5.opt(_ZN10BaseKvmCPU7startupEv+0x9e)[0x5622a494bc8e]
>
> ./build/X86/gem5.opt(_ZN9X86KvmCPU7startupEv+0x9)[0x5622a4969509]
>
>
> ------------------------------
>
>
>
> *发件人:* Jason Lowe-Power [mailto:ja...@lowepower.com <ja...@lowepower.com>]
>
> *发送时间:* 2021年5月10日 23:56
> *收件人:* gem5 users mailing list <gem5-users@gem5.org>
> *抄送:* Liyichao <liyic...@huawei.com>
> *主题:* Re: [gem5-users] Fail to bootup with KVM in se.py on X86 arch
>
>
>
> Hmm, I don't immediately know what's going wrong. I would extend the panic
> on line 559 of vm.cc to also print the error code number so you can look it
> up. I believe you can use `errno` like normal after calling `ioctl`. For
> instance, you could add `strerror(errno)` to the panic.
>
>
>
> Cheers,
>
> Jason
>
>
>
>
>
> On Mon, May 10, 2021 at 12:49 AM Liyichao via gem5-users <
> gem5-users@gem5.org> wrote:
>
> Hi All:
>
>          I use KVM CPU in se mode on X86 arch, but it showed a panic “KVM:
> Failed to create virtual CPU”.
>
>
>
>
>
> My host is X86 server of Intel 6148 and it can support kvm:
>
> lsmod |grep kvm
>
> kvm_intel             172032  0
>
> kvm                   548864  1 kvm_intel
>
> irqbypass              16384  1 kvm
>
>
>
> ll /dev/kvm
>
> crwxrwxrwx 1 root root 10, 232 Feb 16 20:40 /dev/kvm
>
>
>
>    My GEM5 version is master(v21.0.0.0),
> ea7d012c00e5555857ef999b88a8ec2bde801a1f
>
>
>
>
>
> ./build/X86/gem5.opt configs/example/se.py --cpu-type=X86KvmCPU
> --cpu-clock=2.6GHz --sys-clock=2.6GHz --caches --l1d_size=64kB
> --l1i_size=64kB --l2cache --l2_size=32MB --mem-size=32GB --num-cpus=1 -I
> 5000 -c "./test"
>
> gem5 Simulator System.  http://gem5.org
>
> gem5 is copyrighted software; use the --copyright option for details.
>
>
>
> gem5 version 21.0.0.0
>
> gem5 compiled May 10 2021 03:39:51
>
> gem5 started May 10 2021 03:57:48
>
> gem5 executing on ubuntu, pid 112188
>
> command line: ./build/X86/gem5.opt configs/example/se.py
> --cpu-type=X86KvmCPU --cpu-clock=2.6GHz --sys-clock=2.6GHz --caches
> --l1d_size=64kB --l1i_size=64kB --l2cache --l2_size=32MB --mem-size=32GB
> --num-cpus=1 -I 5000 -c ./test
>
>
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.master is deprecated. `master` is now called `mem_side_ports`
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
>
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
>
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>
> Global frequency set at 1000000000000 ticks per second
>
> warn: DRAM device capacity (8192 Mbytes) does not match the address range
> assigned (32768 Mbytes)
>
> 0: system.remote_gdb: listening for remote gdb on port 7000
>
> **** REAL SIMULATION ****
>
> panic: KVM: Failed to create virtual CPU
>
> _______________________________________________
> 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 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

Reply via email to