[vfio-users] Huge performance decrease in VM

Quentin Deldycke quentindeldycke at gmail.com
Fri Jan 6 22:53:45 UTC 2017


I dont know, it depends of the game and if this part of the code have
impact on fps...


Kind of thread locks maybe?

On 6 Jan 2017 11:23 p.m., "Marius Steffen" <marius.steffen at posteo.de> wrote:

> I think I've read about this on this mailing list, because when playing
> Crysis 3, my VM kept crashing (more precise: the game didn't even start),
> until I set 'options kvm ignore_msrs=1' in modprobe.d .conf file.
> When switching to Win8, will the performance be better?
>
>
> Thanks,
>
> Marius
>
> Am 06.01.2017 um 14:52 schrieb Quentin Deldycke:
>
> For adding a bit on this subjects, some games (blizzard games, tomb raider
> at it's launch) use a lot of msrs during run.
> It seems this is made for their anti-cheat / hack systems.
>
> Heroes of the storm, SC2 are spamming these msrs. This reduce performance
> quite hardly.
>
> Funny thing: This "bug" does not apply to win8 / win7 :)
>
> For reference we spoke about such in this thread a long time ago:
> https://www.redhat.com/archives/vfio-users/2016-May/msg00134.html
>
>
> The kernel spam of such error at Heroes of the storm login screen:
> [136995.284205] kvm [6799]: vcpu2, guest rIP: 0xfffff8016e757733
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> [136995.284217] kvm [6799]: vcpu2, guest rIP: 0xfffff8016e757733
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> [137000.285330] kvm_get_msr_common: 302015 callbacks suppressed
> [137000.285337] kvm [6799]: vcpu5, guest rIP: 0xfffff8016e75779c ignored
> rdmsr: 0x1c9
> [137000.285342] kvm [6799]: vcpu5, guest rIP: 0xfffff8016e7577aa ignored
> rdmsr: 0x680
> [137000.285344] kvm [6799]: vcpu5, guest rIP: 0xfffff8016e7577c1 ignored
> rdmsr: 0x6c0
>
>
> --
> Deldycke Quentin
>
>
> On 6 January 2017 at 14:07, Thomas Lindroth <thomas.lindroth at gmail.com>
> wrote:
>
>> On 01/06/2017 01:00 PM, Marius Steffen wrote:
>> > Is there anything I can do to a) find the cause of this bad performance
>> > b) make my VM perform better?
>>
>> One thing you can try is to run the game with poor performance and at the
>> same time run "perf kvm --host stat live" on the host. This will show how
>> many VM-EXIT kvm performs. VM-EXIT means the guest has done something the
>> hardware virtualisation can't handle, like accessing MSR or virtual IO.
>>
>> Some workloads will perform badly because they cause a lot of VM-EXIT.
>> Perf will tell you why a VM-EXIT was performed. The more common causes are
>> IO_INSTRUCTION and EPT_MISCONFIG. IO_INSTRUCTION means the guest tried to
>> access an x86 ioport and EPT_MISCONFIG seems to be an odd name for access
>> to memory mapped io. Sometimes a lot of time is spent in HLT but that's
>> normal. It only means the guest OS has nothing to do and goes idle.
>>
>> By running "perf kvm --host stat live --event=ioport" you can check which
>> ioport is accessed and "perf kvm --host stat live --event=mmio" shows
>> which address was accessed for memory mapped io.
>>
>> If you see that an mmio address is accessed a lot and want to find out
>> what
>> it is you can run "virsh qemu-monitor-command <nameofvm> --hmp 'info
>> mtree'"
>> to get a list of the memory layout of the VM. Unfortunately I don't know
>> of any way to get a similar list of ioports.
>>
>> As an example on my system some games like Rise of the Tomb Raider and
>> Assassin's Creed Unity will access ioport 0xb008 more than 200,000
>> times/sec
>> and those games will have poor performance compared to native. Qemu
>> hardcode the acpi timer to ioport 0xb008 and those games excessively read
>> the hardware timer. I haven't figured out any way to work around the
>> problem
>> but I run games with vsync on and even with the decreased performance I
>> get
>> 60fps in those titles.
>>
>> _______________________________________________
>> vfio-users mailing list
>> vfio-users at redhat.com
>> https://www.redhat.com/mailman/listinfo/vfio-users
>>
>
>
>
> _______________________________________________
> vfio-users mailing listvfio-users at redhat.comhttps://www.redhat.com/mailman/listinfo/vfio-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20170106/696d441b/attachment.htm>


More information about the vfio-users mailing list