qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: x86_64 emulation on ppc64le POWER9 hardware - no multi threading


From: Cédric Le Goater
Subject: Re: x86_64 emulation on ppc64le POWER9 hardware - no multi threading
Date: Mon, 3 Aug 2020 17:24:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Hello, 

On 8/3/20 3:47 PM, Kim-Norman Sahm wrote:
> hi,
> 
>  
> 
> i’m running Debian 10 on POWER9 and would like to spawn x86_64 emulated VMs.
> 
> The virtual machine is configured to run with 8 vpus but it’s very slow.
> 
> On the host you can see that the qemu-system-x86_64 process is using just one 
> core!
> 
>  
> 
> Ppc64le guests are using multi cores, so its looks like an config problem or 
> software bug with the x86 emulator.

It's not a bug. 

SMT is not supported on PCC64 machines (pSeries and PowerNV) when 
running emulated (TCG). Although, this is something we would love 
to have.  


Cheers,

C. 

  
> 
>  
> 
> <domain type='qemu'>
> 
>   <name>ubuntu</name>
> 
>   <uuid>a38148e3-6a85-4793-8d58-8725e8bef25a</uuid>
> 
>   <metadata>
> 
>     <libosinfo:libosinfo 
> xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0";>
> 
>       <libosinfo:os id="http://debian.org/debian/10"/>
> 
>     </libosinfo:libosinfo>
> 
>   </metadata>
> 
>   <memory unit='KiB'>33554432</memory>
> 
>   <currentMemory unit='KiB'>33554432</currentMemory>
> 
>   <vcpu placement='static'>8</vcpu>
> 
>   <os>
> 
>     <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
> 
>     <boot dev='hd'/>
> 
>   </os>
> 
>   <features>
> 
>     <acpi/>
> 
>     <apic/>
> 
>   </features>
> 
>   <cpu mode='custom' match='exact' check='none'>
> 
>     <model fallback='forbid'>qemu64</model>
> 
>   </cpu>
> 
>   <clock offset='utc'>
> 
>     <timer name='rtc' tickpolicy='catchup'/>
> 
>     <timer name='pit' tickpolicy='delay'/>
> 
>     <timer name='hpet' present='no'/>
> 
>   </clock>
> 
>   <on_poweroff>destroy</on_poweroff>
> 
>   <on_reboot>restart</on_reboot>
> 
>   <on_crash>destroy</on_crash>
> 
>   <pm>
> 
>     <suspend-to-mem enabled='no'/>
> 
>     <suspend-to-disk enabled='no'/>
> 
>   </pm>
> 
>   <devices>
> 
>     <emulator>/usr/bin/qemu-system-x86_64</emulator>
> 
>     <disk type='file' device='disk'>
> 
>       <driver name='qemu' type='qcow2'/>
> 
>       <source file='/var/lib/libvirt/images/ubuntu-x86_64.qcow2'/>
> 
>       <target dev='vda' bus='virtio'/>
> 
>       <address type='pci' domain='0x0000' bus='0x04' slot='0x00' 
> function='0x0'/>
> 
>     </disk>
> 
>     <disk type='file' device='cdrom'>
> 
>       <driver name='qemu' type='raw'/>
> 
>       <target dev='sda' bus='sata'/>
> 
>       <readonly/>
> 
>       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
> 
>     </disk>
> 
>     <controller type='usb' index='0' model='qemu-xhci' ports='15'>
> 
>       <address type='pci' domain='0x0000' bus='0x02' slot='0x00' 
> function='0x0'/>
> 
>     </controller>
> 
>     <controller type='sata' index='0'>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' 
> function='0x2'/>
> 
>     </controller>
> 
>     <controller type='pci' index='0' model='pcie-root'/>
> 
>     <controller type='virtio-serial' index='0'>
> 
>       <address type='pci' domain='0x0000' bus='0x03' slot='0x00' 
> function='0x0'/>
> 
>     </controller>
> 
>     <controller type='pci' index='1' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='1' port='0x10'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x0' multifunction='on'/>
> 
>     </controller>
> 
>     <controller type='pci' index='2' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='2' port='0x11'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x1'/>
> 
>     </controller>
> 
>     <controller type='pci' index='3' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='3' port='0x12'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x2'/>
> 
>     </controller>
> 
>     <controller type='pci' index='4' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='4' port='0x13'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x3'/>
> 
>     </controller>
> 
>     <controller type='pci' index='5' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='5' port='0x14'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x4'/>
> 
>     </controller>
> 
>     <controller type='pci' index='6' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='6' port='0x15'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x5'/>
> 
>     </controller>
> 
>     <controller type='pci' index='7' model='pcie-root-port'>
> 
>       <model name='pcie-root-port'/>
> 
>       <target chassis='7' port='0x16'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x6'/>
> 
>     </controller>
> 
>     <interface type='bridge'>
> 
>       <mac address='52:54:00:cc:08:18'/>
> 
>       <source bridge='br0'/>
> 
>       <model type='virtio'/>
> 
>       <address type='pci' domain='0x0000' bus='0x01' slot='0x00' 
> function='0x0'/>
> 
>     </interface>
> 
>     <serial type='pty'>
> 
>       <target type='isa-serial' port='0'>
> 
>         <model name='isa-serial'/>
> 
>       </target>
> 
>     </serial>
> 
>     <console type='pty'>
> 
>       <target type='serial' port='0'/>
> 
>     </console>
> 
>     <channel type='unix'>
> 
>       <target type='virtio' name='org.qemu.guest_agent.0'/>
> 
>       <address type='virtio-serial' controller='0' bus='0' port='1'/>
> 
>     </channel>
> 
>     <input type='tablet' bus='usb'>
> 
>       <address type='usb' bus='0' port='1'/>
> 
>     </input>
> 
>     <input type='mouse' bus='ps2'/>
> 
>     <input type='keyboard' bus='ps2'/>
> 
>     <graphics type='vnc' port='-1' autoport='yes'>
> 
>       <listen type='address'/>
> 
>     </graphics>
> 
>     <video>
> 
>       <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' 
> primary='yes'/>
> 
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x0'/>
> 
>     </video>
> 
>     <memballoon model='virtio'>
> 
>       <address type='pci' domain='0x0000' bus='0x05' slot='0x00' 
> function='0x0'/>
> 
>     </memballoon>
> 
>     <rng model='virtio'>
> 
>       <backend model='random'>/dev/urandom</backend>
> 
>       <address type='pci' domain='0x0000' bus='0x06' slot='0x00' 
> function='0x0'/>
> 
>     </rng>
> 
>   </devices>
> 
> </domain>
> 
>  
> 
> # ps ax|grep qemu
> 
>   31546 ?        Sl     2:38 /usr/bin/qemu-system-x86_64 -name 
> guest=ubuntu,debug-threads=on -S -object 
> secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-59-ubuntu/master-key.aes
>  -machine pc-q35-5.0,accel=tcg,usb=off,dump-guest-core=off -cpu qemu64 -m 
> 32768 -overcommit mem-lock=off -smp 8,sockets=8,cores=1,threads=1 -uuid 
> a38148e3-6a85-4793-8d58-8725e8bef25a -no-user-config -nodefaults -chardev 
> socket,id=charmonitor,fd=32,server,nowait -mon 
> chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew 
> -no-hpet -no-reboot -global ICH9-LPC.disable_s3=1 -global 
> ICH9-LPC.disable_s4=1 -boot strict=on -device 
> pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2
>  -device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 
> -device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 
> -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 
> -device
> pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 -device 
> pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 -device 
> pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 -device 
> qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 -device 
> virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 -blockdev 
> {"driver":"file","filename":"/var/lib/libvirt/images/ubuntu-x86_64.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}
>  -blockdev 
> {"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage","backing":null}
>  -device 
> virtio-blk-pci,bus=pci.4,addr=0x0,drive=libvirt-2-format,id=virtio-disk0,bootindex=2
>  -blockdev 
> {"driver":"file","filename":"/var/lib/libvirt/images/ubuntu-20.04-live-server-amd64.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}
>  -blockdev 
> {"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}
>  -device
> ide-cd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 -netdev 
> tap,fd=34,id=hostnet0 -device 
> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:cc:08:18,bus=pci.1,addr=0x0
>  -chardev pty,id=charserial0 -device 
> isa-serial,chardev=charserial0,id=serial0 -chardev 
> socket,id=charchannel0,fd=35,server,nowait -device 
> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
>  -device usb-tablet,id=input0,bus=usb.0,port=1 -vnc 127.0.0.1:1 -device 
> qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,max_outputs=1,bus=pcie.0,addr=0x1
>  -device virtio-balloon-pci,id=balloon0,bus=pci.5,addr=0x0 -object 
> rng-random,id=objrng0,filename=/dev/urandom -device 
> virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.6,addr=0x0 -sandbox 
> on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg 
> timestamp=on
> 
>  
> 
> # dpkg -l|grep qemu
> 
> ii  ipxe-qemu                              1.0.0+git-20190125.36a4c85-5   all 
>          PXE boot firmware - ROM images for qemu
> 
> ii  libvirt-daemon-driver-qemu             6.4.0-2                        
> ppc64el      Virtualization daemon QEMU connection driver
> 
> ii  qemu                                   1:5.0-13                       
> ppc64el      fast processor emulator, dummy package
> 
> ii  qemu-block-extra                       1:5.0-13                       
> ppc64el      extra block backend modules for qemu-system and qemu-utils
> 
> ii  qemu-system-common                     1:5.0-13                       
> ppc64el      QEMU full system emulation binaries (common files)
> 
> ii  qemu-system-data                       1:5.0-13                       all 
>          QEMU full system emulation (data files)
> 
> ii  qemu-system-gui:ppc64el                1:5.0-13                       
> ppc64el      QEMU full system emulation binaries (user interface and audio 
> support)
> 
> ii  qemu-system-ppc                        1:5.0-13                       
> ppc64el      QEMU full system emulation binaries (ppc)
> 
> ii  qemu-system-x86                        1:5.0-13                       
> ppc64el      QEMU full system emulation binaries (x86)
> 
> ii  qemu-utils                             1:5.0-13                       
> ppc64el      QEMU utilities
> 
>  
> 
>  
> 
> Does anybody knows this problem?
> 
>  
> 
> Best regards
> 
> Kim
> 
>  
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]