dadarara Posted December 13, 2016 Share Posted December 13, 2016 in my Win10 VM, I dont see the L3 cache. using the CPU-Z for example. I have a poor performance, about 50-60% of what is expected. this is the first thing I have noticed trying to understand I googled some and found that there is a recent patch for the KVM/QEMU to pass the L3 to the VMs : http://git.qemu.org/?p=qemu.git;a=commit;h=14c985cffa6cb177fc01a163d8bcf227c104718c What should I make of it? where is my L3 of 20Mb ? Quote Link to comment
billington.mark Posted December 13, 2016 Share Posted December 13, 2016 That patch seems to be part of QEMU 2.8, If its something you want to see sooner rather than later id request it in the feature requests part of the forum. Its only on v2.7 even on the 6.3 rc6 release. I cant see that being the main reason for poor performance though... I have the same CPU as you and have good performance in all my VMs.... Post your XML with details of any passed through hardware so people can offer some advice on potential changes. Quote Link to comment
dadarara Posted December 13, 2016 Author Share Posted December 13, 2016 are you also missing the L3 ? do you see it in CPU-Z for example ? I am passing through only the GPU at this moment Gigabyte GTX1070 OC (works without ROM file in xml) Here is my XML <domain type='kvm' id='9'> <name>Windows 10-1070</name> <uuid>dadd0954-4e20-1db8-bdd0-c65429555815</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>16</vcpu> <cputune> <vcpupin vcpu='0' cpuset='8'/> <vcpupin vcpu='1' cpuset='9'/> <vcpupin vcpu='2' cpuset='10'/> <vcpupin vcpu='3' cpuset='11'/> <vcpupin vcpu='4' cpuset='12'/> <vcpupin vcpu='5' cpuset='13'/> <vcpupin vcpu='6' cpuset='14'/> <vcpupin vcpu='7' cpuset='15'/> <vcpupin vcpu='8' cpuset='24'/> <vcpupin vcpu='9' cpuset='25'/> <vcpupin vcpu='10' cpuset='26'/> <vcpupin vcpu='11' cpuset='27'/> <vcpupin vcpu='12' cpuset='28'/> <vcpupin vcpu='13' cpuset='29'/> <vcpupin vcpu='14' cpuset='30'/> <vcpupin vcpu='15' cpuset='31'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/dadd0954-4e20-1db8-bdd0-c65429555815_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='8' threads='2'/> </cpu> <clock offset='localtime'> <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>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/Windows10_x64_original.iso'/> <backingStore/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.126.iso'/> <backingStore/> <target dev='hdb' bus='ide'/> <readonly/> <alias name='ide0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/Windows 10-1070/vdisk1.img'/> <backingStore/> <target dev='hdc' bus='ide'/> <boot order='1'/> <alias name='ide0-1-0'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='nec-xhci'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:53:dc:0f'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/0'> <source path='/dev/pts/0'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-Windows 10-1070/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x82' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x04b3'/> <product id='0x3019'/> <address bus='2' device='5'/> </source> <alias name='hostdev2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x06cb'/> <product id='0x0009'/> <address bus='2' device='7'/> </source> <alias name='hostdev3'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0e8f'/> <product id='0x00fb'/> <address bus='5' device='2'/> </source> <alias name='hostdev4'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </memballoon> </devices> </domain> Quote Link to comment
billington.mark Posted December 14, 2016 Share Posted December 14, 2016 No L3 cache is reported for me either, but my performance is fine. Ok... There's a point of diminishing returns when it comes to assigning CPU cores to a VM. Id drop it down to 8, (4 hyperthreaded). you're using IDE for your vdisk. This will be the main reason for your poor performance, change this to VIRTIO. (this will most likely mean reinstalling windows). Any reason you chose IDE? you'll need to point the windows 10 installer at the virtio driver disk to install the storage driver for the disk to be detected in the windows install. Id start a fresh, assign less CPUs, use VIRTIO and you should see a significant performance increase. Quote Link to comment
kode54 Posted December 14, 2016 Share Posted December 14, 2016 change this to VIRTIO. (this will most likely mean reinstalling windows). There is a trick to switching over: 1) Add another hard drive, maybe 1MB or slightly larger, and make it VirtIO. 2) Boot the VM. 3) Install the viostor drivers for your OS to support the tiny image you mounted above. 4) Shut down the VM. 5) Delete the mini temporary VirtIO drive. 6) Change your boot image to VirtIO. 7) It should boot fine now. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.