[vfio-users] Performance problem with i5 3330

Sinisa Tkalec xslisx at gmail.com
Tue Sep 15 11:06:14 UTC 2015


You need to toggle shadowplay on/off in geforce experience, or use 
nvfbc-enable.exe (no need for gfe...) from grid sdk to enable better 
streaming support (nvfbc instead of nvifr), and also be sure that you 
enabled host hardware encoding in steam options on host. 100mbps is 
enough for streaming, 1gbps is recommended.

I think I've read somewhere on steam forums that with latest drivers and 
970 hw encoding may be broken... try downgrade...

You can enable stats on client steam options and bring them up with F6 
to see what encoder/decoder you use, you wanna see nvfbc as encoder. And 
decoder DXVA on windows or vaapi/vdpau on linux client.

On 09/15/2015 12:22 PM, francesco dicarlo wrote:
> more analysis. disabled some service and I obtained steady 60 fps on 
> the vm playing directly from the monitor attached.
>
> But there's a problem. I want to do mainly use of steam in home 
> streaming so windows vm should be basically headless with no monitor 
> attached.
>
> While in local monitor game runs at 60 fps, streaming to other devices 
> gets poor performance. Steam is popping up "slow encode" so the 
> encoding of h264 video to other devices is not enough. I hope it is 
> not caused from removing hyperV enlightments otherwise I'm really 
> screwed up...
> Maybe also network is the bottleneck... Should I trust virtio or do a 
> passthrough for a ethernet pci card?
>
> Only thing to do/test, use an empty distro or use an i7...
>
>
>
> 2015-09-15 12:01 GMT+02:00 francesco dicarlo <evilsephiroth at gmail.com 
> <mailto:evilsephiroth at gmail.com>>:
>
>     well, yes. My first configuration was without cpu pinning and I
>     had worst performance.
>
>     I've attached a monitor on the vm to see real performance and it's
>     really low...I've gained some fps but far from what that card can do.
>
>     King of fighters 13 bare metal 60fps , vm 32 fps.
>
>     Tried right now removing cputune section from xml and stopping
>      nearly all services that were running on the machine.
>
>     With there performance, I think neither a fresh installation would
>     be good for performance.
>
>
>
>
>     2015-09-15 11:47 GMT+02:00 Okky Hendriansyah <okky at nostratech.com
>     <mailto:okky at nostratech.com>>:
>
>         Hi Francesco,
>
>         Have you tried without CPU pinning at all just like on the
>         Proxmox box?
>
>         Best regards,
>         -- 
>         *Okky Hendriansyah*
>
>         On September 15, 2015 at 16:44:09, francesco dicarlo
>         (evilsephiroth at gmail.com <mailto:evilsephiroth at gmail.com>) wrote:
>
>>         well, if I can't trust sensors how can I monitor temperature?
>>         from within windows? It's always between 55 63 degree so I
>>         don't think it's throttling down.
>>
>>         I'm currentyl tailing sensors and monitoring htop.
>>
>>         Besides, I tried to lower stream from vm steam limiting to
>>         720p and I gained some fps... So it's really a cpu problem...
>>         It's so strange because with proxmox I reached 60 fps for a
>>         lot of titles without pinning nothing.
>>         I'm starting to think that It's not enough for all processes
>>         on that machine.
>>
>>
>>
>>         2015-09-15 11:20 GMT+02:00 Blank Field
>>         <ihatethisfield at gmail.com <mailto:ihatethisfield at gmail.com>>:
>>
>>             Hardware sensors, i mean.
>>
>>             On Sep 15, 2015 12:20 PM, "Blank Field"
>>             <ihatethisfield at gmail.com
>>             <mailto:ihatethisfield at gmail.com>> wrote:
>>
>>                 Linux hardware often lie, recheck it.
>>
>>                 On Sep 15, 2015 12:19 PM, "Sinisa Tkalec"
>>                 <xslisx at gmail.com <mailto:xslisx at gmail.com>> wrote:
>>
>>                     You wanna set cpu like this:
>>
>>                       <vcpu placement='static'>3</vcpu>
>>                     <cputune>
>>                         <vcpupin vcpu='0' cpuset='0'/>
>>                         <vcpupin vcpu='1' cpuset='1'/>
>>                         <vcpupin vcpu='2' cpuset='2'/>
>>                     </cputune>
>>                       <os>
>>
>>                       <cpu mode='host-passthrough'>
>>                         <topology sockets='1' cores='3' threads='1'/>
>>                       </cpu>
>>
>>
>>                     On 09/15/2015 11:16 AM, francesco dicarlo wrote:
>>>                     Done with the scan. Nothing found...
>>>
>>>                     Besides running only malwarebytes anti-malware
>>>                     on win vm hogged guest cpu to 70% and all 3
>>>                     cores assigned to vm on the host went at 65%.
>>>
>>>                     Only scanning... For the sake of completeness, I
>>>                     will post my vm xml.
>>>
>>>
>>>                     <domain type='kvm' id='12'
>>>                     xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
>>>                     <name>win8.1</name>
>>>                     <uuid>f7060f72-6428-40fe-b19e-6ced0837149e</uuid>
>>>                     <memory unit='KiB'>8388608</memory>
>>>                     <currentMemory unit='KiB'>8388608</currentMemory>
>>>                     <vcpu placement='static' cpuset='0-2'>3</vcpu>
>>>                     <resource>
>>>                     <partition>/machine</partition>
>>>                     </resource>
>>>                     <os>
>>>                       <type arch='x86_64'
>>>                     machine='pc-i440fx-trusty'>hvm</type>
>>>                     <loader>/usr/share/ovmf/OVMF.fd</loader>
>>>                       <bootmenu enable='yes'/>
>>>                     </os>
>>>                     <features>
>>>                     <acpi/>
>>>                     <hyperv>
>>>                     <relaxed state='off'/>
>>>                         <vapic state='off'/>
>>>                     <spinlocks state='off'/>
>>>                     </hyperv>
>>>                     </features>
>>>                     <cpu mode='custom' match='exact'>
>>>                       <model fallback='allow'>SandyBridge</model>
>>>                     <vendor>Intel</vendor>
>>>                       <topology sockets='1' cores='3' threads='1'/>
>>>                       <feature policy='require' name='vme'/>
>>>                       <feature policy='require' name='dtes64'/>
>>>                       <feature policy='require' name='vmx'/>
>>>                       <feature policy='require' name='erms'/>
>>>                       <feature policy='require' name='xtpr'/>
>>>                       <feature policy='require' name='smep'/>
>>>                       <feature policy='require' name='pcid'/>
>>>                       <feature policy='require' name='est'/>
>>>                       <feature policy='require' name='monitor'/>
>>>                       <feature policy='require' name='tm'/>
>>>                       <feature policy='require' name='acpi'/>
>>>                       <feature policy='require' name='osxsave'/>
>>>                       <feature policy='require' name='ht'/>
>>>                       <feature policy='require' name='pdcm'/>
>>>                       <feature policy='require' name='fsgsbase'/>
>>>                       <feature policy='require' name='f16c'/>
>>>                       <feature policy='require' name='ds’/>
>>>                     <feature policy='require' name='tm2'/>
>>>                     <feature policy='require' name='ss'/>
>>>                     <feature policy='require' name='pbe'/>
>>>                     <feature policy='require' name='ds_cpl'/>
>>>                     <feature policy='require' name='rdrand'/>
>>>                     </cpu>
>>>                     <clock offset='localtime'>
>>>                     <timer name='hypervclock' present='no'/>
>>>                     <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>
>>>                     <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='raw' cache='none'
>>>                     io='native'/>
>>>                     <source file='/home/repo/vmdisk/win8vmgame.img'/>
>>>                     <backingStore/>
>>>                     <target dev='vda' bus='virtio'/>
>>>                     <boot order='1'/>
>>>                     <alias name='virtio-disk0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x05' function='0x0'/>
>>>                     </disk>
>>>                     <controller type='usb' index='0' model='ich9-ehci1'>
>>>                     <alias name='usb0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x04' function='0x7'/>
>>>                     </controller>
>>>                     <controller type='usb' index='0' model='ich9-uhci1'>
>>>                     <alias name='usb0'/>
>>>                     <master startport='0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x04' function='0x0' multifunction='on'/>
>>>                     </controller>
>>>                     <controller type='usb' index='0' model='ich9-uhci2'>
>>>                     <alias name='usb0'/>
>>>                     <master startport='2'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x04' function='0x1'/>
>>>                     </controller>
>>>                     <controller type='usb' index='0' model='ich9-uhci3'>
>>>                     <alias name='usb0'/>
>>>                     <master startport='4'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x04' function='0x2'/>
>>>                     </controller>
>>>                     <controller type='pci' index='0' model='pci-root'>
>>>                     <alias name='pci.0'/>
>>>                     </controller>
>>>                     <controller type='ide' index='0'>
>>>                     <alias name='ide0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x01' function='0x1'/>
>>>                     </controller>
>>>                     <interface type='bridge'>
>>>                     <mac address='52:54:00:db:d1:3e'/>
>>>                     <source bridge='br0'/>
>>>                     <target dev='vnet0'/>
>>>                     <model type='virtio'/>
>>>                     <alias name='net0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x03' function='0x0'/>
>>>                     </interface>
>>>                     <serial type='pty'>
>>>                     <source path='/dev/pts/5'/>
>>>                     <target port='0'/>
>>>                     <alias name='serial0'/>
>>>                     </serial>
>>>                     <console type='pty' tty='/dev/pts/5'>
>>>                     <source path='/dev/pts/5'/>
>>>                     <target type='serial' port='0'/>
>>>                     <alias name='serial0'/>
>>>                     </console>
>>>                     <hostdev mode='subsystem' type='pci' managed='yes'>
>>>                     <driver name='vfio'/>
>>>                     <source>
>>>                     <address domain='0x0000' bus='0x01' slot='0x00'
>>>                     function='0x0'/>
>>>                     </source>
>>>                     <alias name='hostdev0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x06' function='0x0'/>
>>>                     </hostdev>
>>>                     <hostdev mode='subsystem' type='pci' managed='yes'>
>>>                     <driver name='vfio'/>
>>>                     <source>
>>>                     <address domain='0x0000' bus='0x01' slot='0x00'
>>>                     function='0x1'/>
>>>                     </source>
>>>                     <alias name='hostdev1'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x07' function='0x0'/>
>>>                     </hostdev>
>>>                     <memballoon model='virtio'>
>>>                     <alias name='balloon0'/>
>>>                     <address type='pci' domain='0x0000' bus='0x00'
>>>                     slot='0x02' function='0x0'/>
>>>                     </memballoon>
>>>                     </devices>
>>>                     <qemu:commandline>
>>>                     <qemu:arg value='-cpu'/>
>>>                     <qemu:arg value='host,kvm=off'/>
>>>                     <qemu:arg value='-vga'/>
>>>                     <qemu:arg value='none'/>
>>>                     </qemu:commandline>
>>>                     </domain>
>>>
>>>                     2015-09-15 11:04 GMT+02:00 francesco dicarlo
>>>                     <evilsephiroth at gmail.com
>>>                     <mailto:evilsephiroth at gmail.com>>:
>>>
>>>                         hmm a pretty new installation with only
>>>                         installed nvidia drivers and steam ? it's an
>>>                         image from a reliable source. just checking
>>>                         with malwarebytes tool.
>>>
>>>                         I inspected the task manager but nothing came up
>>>
>>>                         2015-09-15 10:58 GMT+02:00 BugMaze
>>>                         <bugmaze at networkbreak.net
>>>                         <mailto:bugmaze at networkbreak.net>>:
>>>
>>>                             Then check your Windows for malware.
>>>                             Most of them are bitcoin mining proccess
>>>                             that hog the CPU in the background.
>>>
>>>>>>
>>>                             ----‏ francesco dicarlo كتب ----
>>>
>>>                             60 degree under gaming. pretty normal
>>>                             for that shitty intel cooler... I use
>>>                             sensors from ubuntu repository.
>>>
>>>
>>>
>>>                             2015-09-15 10:45 GMT+02:00 BugMaze
>>>                             <bugmaze at networkbreak.net
>>>                             <mailto:bugmaze at networkbreak.net>>:
>>>
>>>                                 Just a wild guess: Maybe your CPU is
>>>                                 throttling, do you monitor your
>>>                                 CPU's temps?  I used to have a
>>>                                 similar experience to yours,
>>>                                 reseating the cooler with new
>>>                                 thermal compound was the magic solution.
>>>
>>>>>>
>>>                                 ----‏ francesco dicarlo كتب ----
>>>
>>>
>>>                                 Hi to all, this is my current hardware:
>>>
>>>                                 Cpu: I5 3330
>>>                                 Ram: 12GB DDR3
>>>                                 HD: 3 x 4TB(NAS) + 1x120GB (Ubuntu
>>>                                 14.04)
>>>                                 GPU:Nvidia gtx 970 directCu mini
>>>                                 DVB-S :Dvb-Sky S952 pci express
>>>
>>>                                 I'm currently using my host for
>>>                                 these operations:
>>>                                 -Rtorrent + filebot + irssi + Rutorrent
>>>                                 - Kodi 14 Client
>>>                                 - Vdr Server
>>>                                 - Mysql server for Kodi central
>>>                                 repository
>>>                                 - NFS server for exposing my nas drives
>>>                                 - Some cron jobs to update kodi
>>>                                 repository
>>>
>>>                                 Usually, cpu usage stays 10 - 15%
>>>                                 also with kodi reproducing media
>>>                                 with ram almost free (890MB on 12GB)
>>>
>>>                                 I've got a windows 8.1 OVMF virtual
>>>                                 machine. No problem with 970
>>>                                 passthrough.
>>>                                 Removed hyperV
>>>                                 enlightenments,kvm=off with latest
>>>                                 nvidia drivers.
>>>
>>>                                 Assigned 3vcpus pinning 0-2 with
>>>                                 virt-manager ui.
>>>                                 Assigned a raw image of 100GB for
>>>                                 testing. Virtio for disk and network.
>>>                                 There's a bridge br0 on the host
>>>                                 machine to provide connectivity.
>>>                                 Using huge pages also.
>>>                                 Latest ovmf from git.
>>>
>>>                                 I use it as a steam streaming server
>>>                                 by using only wired ethernet gigabit.
>>>
>>>                                 My problem is only performance.
>>>
>>>                                 When I fire up a game,qemu process
>>>                                 use 90% of 3 cpus and I have
>>>                                 framerate by 15 20 fps while gaming
>>>                                 on bare metal goes always at 60fps.
>>>                                 Tried with various
>>>                                 games(Borderlands,KOF 13, Child of
>>>                                 Light). Client is at 90% cpu.
>>>
>>>                                 I used in the past proxmox for my
>>>                                 kvm needs with a i5 3470 and
>>>                                 performance was much more(60 fps)
>>>                                 that with kvm-qemu on my current distro.
>>>                                 I can't think that there's so much
>>>                                 difference between i5 3330 and i5 3470.
>>>
>>>                                 Is there something I'm missing? I'm
>>>                                 willing to post configuration or any
>>>                                 other file that you need to do an
>>>                                 analysis.
>>>
>>>                                 The last thing that I'm going to do
>>>                                 is to use a empty installation of
>>>                                 Ubuntu with nothing installed aside
>>>                                 kvm packages to see performance...
>>>
>>>
>>>
>>>
>>>
>>>
>>>                     _______________________________________________
>>>                     vfio-users mailing list
>>>                     vfio-users at redhat.com  <mailto:vfio-users at redhat.com>
>>>                     https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>>                     _______________________________________________
>>                     vfio-users mailing list
>>                     vfio-users at redhat.com <mailto:vfio-users at redhat.com>
>>                     https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>>             _______________________________________________
>>             vfio-users mailing list
>>             vfio-users at redhat.com <mailto:vfio-users at redhat.com>
>>             https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>>         _______________________________________________
>>         vfio-users mailing list
>>         vfio-users at redhat.com <mailto:vfio-users at redhat.com>
>>         https://www.redhat.com/mailman/listinfo/vfio-users
>
>
>
>
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20150915/42c66f32/attachment.htm>


More information about the vfio-users mailing list