[vfio-users] Performance problem with i5 3330

Okky Hendriansyah okky at nostratech.com
Tue Sep 15 11:10:03 UTC 2015


Another option is to stream using NVIDIA’s streaming service and setup Moonlight on the client machine.

http://moonlight-stream.com

-- 
Okky Hendriansyah
On September 15, 2015 at 18:07:46, Sinisa Tkalec (xslisx at gmail.com) wrote:

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>:
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>:
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) 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>:
Hardware sensors, i mean.

On Sep 15, 2015 12:20 PM, "Blank Field" <ihatethisfield at gmail.com> wrote:
Linux hardware often lie, recheck it.

On Sep 15, 2015 12:19 PM, "Sinisa Tkalec" <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>:
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>:
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>:
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
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


_______________________________________________
vfio-users mailing list
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




_______________________________________________
vfio-users mailing list
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/a300b8b6/attachment.htm>


More information about the vfio-users mailing list