Desperate for help / interesting case regarding gaming VM


nasuellia

Recommended Posts

INTRO
Hello there,
I’m new around here! I purchased a basic license for Unraid just 10 days ago. I’ve been tinkering day and night for days, desperately trying to fix the issue I’m about to explain, and I really need help at this point.
If you’re an experienced virtualization user, especially with Unraid , I would hugely appreciate any suggestion, because at this point the whole project is at risk of falling short. Thanks in advance anyway!


SHORT VERSION
My Windows 10 gaming VM runs great: GPU performance is identical to bare metal, CPU performance seem to take a bit of a hit but nothing major, overall performance in games is stunningly good: 95% to 98% of my native Windows installation, I did not expect that! There is one exception though, which is driving me insane because it’s the most important game I need to run: Heroes of the Storm runs like absolute crap on the VM, we’re taking about a 30% to 40% loss in frame-rate compared to bare metal. The game relies on a relatively old deterministic lockstep engine that doesn’t multi-threads well at all, but that does not explain the issue, because single core tests with other games and with synthetic benchmarks I performed are showing minimal loss, certainly not a 40% drop. In fact after a lot of testing and tinkering, I’m not all that sure anymore that the issue lies in the CPU. I tried increasing the clock frequency from 4 GHz to 4.4 Ghz, which is not an insignificant change: if a game actually is CPU-bound, the higher clock speed should have at least a measurable effect; instead, I register no improvement whatsoever in Heroes of the Storm, while I *do* measure significant improvements on many other CPU-intensive games. As a consequence, I suspect there could be something else at work here, but I spent days and nights studying all topics that seemed to be relevant, to no avail: I scouted the Unraid forum as well as this very sub-Reddit, I read miscellaneous articles on the web, I watched a stupid number of YouTube videos and probably about half the SpaceInvaderOne channel, I tested every configuration, optimization tip and tweak I found, I reinstalled the OS many times both on virtual disks and physical disks, on sata devices and m.2 devices, I have no idea what to do at this point. Send help! Thanks a whole lot in advance.
Here’s a link to a google docs with my benchmarking hard numbers and charts: https://goo.gl/wmvGwx


LONG VERSION
This is the wall-of-text version, in case anyone gets interested enough to read such a monstrosity of a post. It's divided in sections for your convenience.
 
HARDWARE SETUP:
- Intel Core i7 6700K Skylake CPU
- Corsair H110 extreme AIO Water Cooling
- MSI Z170A Gaming M5 Motherboard
- 16 GiB DDR4 2400 Crucial BallistiX Memory
- Asus GeForce GTX1070 Strix GPU #1
- Asus GeForce GTX660 Strix GPU #2 (ignore)
- Steelseries Siberia800 USB Soundcard
- Asus Xonar DGX 5.1 Soundcard (ignore)
- Samsung SSD970EVO 250 GiB m.2 Disk
- Samsung SSD840EVO 500 GiB sata Disk
- Western Digital Caviar Purple 4 TiB Disk
- Corsair TX850W Power Supply
 
DISKS / ARRAY
The magnetic disk is the only one on the array. I have no cache disk at all right now and no Parity disks either. In previous setups, I had my 840EVO sata set as cache drive, all VMs were hosted on that disk through vdisks in the domains share (cache only). In those setups, my m.2 970EVO had the bare metal Windows 10 installation for tests and comparisons. Back to the current configuration: the magnetic disk is currently used exclusively to store app data for the Dolphin file manager, the images of LibVirt and Docker itself, and a storage share where I keep my software setups, windows iso, drivers, game backups, and so on, with SAMBA sharing enabled on it. I performed hardware passthrough to the VM for my whole m.2 controller and I'm using a modified windows bootloader provided by SpaceInvaderOne. I'm also passing through the aforementioned 840EVO sata. I ditched virtual disks altogether in order to squeeze maximum disk performance.
 
GPUs
Hardware passthrough to the VM for my GTX1070. The GTX660 is for a second VM and it's not relevant for current discussion. The Intel integrated graphic chip that comes with the Skylake is enabled, and strictly dedicated to my UnRaid server itself.
 
SOUND
Just like the GTX660, the Asus Xonar GDX soundcard is for a second VM, it’s just sitting there right now and it's not relevant for this topic. My VM uses a USB soundcard (Steelseries Siberia 800). Initially I was having issues (demonic sound and occasional crashes) because most of my motherboard's USB controllers are in an unlucky IOMMU group. MSI Interrupts seemed to improve the situation but it was not enough to entirely fix the issue. I managed to actually fix the problem once and for all by performing hardware passthrough of a secondary AsMedia USB controller that controls just one USB3 port on my motherboard. I obviously plug the soundcard on that port, and now everything works fine. I'm also passing through the sound part of my GTX1070, and using it for loud speakers, works like a charm. The integrated sound card from my motherboard is entirely disabled from the BIOS.
 
CPU
Physical cores 1,2,3 and the respective 5,6,7 hyper-threaded logical cores are isolated from UnRaid, so that only logical cores 0 and 4 get load from the server processes. All 8 logical cores pinned to the VM. As you can imagine I tried every possible setup about this: initially, I isolated all logical cores except 0 and 4, and pinned only the other six logical cores to my VM. Then I realized I didn’t really need to do that, as I don’t run any performance intensive docker container, so I pinned all cores to the VM. I tested both with and without isolation with no appreciable difference. I also tried avoiding cores over-committing, by running just 4 cores on the VM. CPU scaling governor set to performance through the TipsAndTweaks plugin, and turbo boost enabled there as well. I checked the clock speeds while running the tests and everything is correct. Another test I tried was disabling turbo boost both in TipsAndTweaks as well as in the BIOS, and setting a fixed clock frequency with a fixed voltage and no EIST. I don't need to add that absolutely nothing changed whatsoever.
 
SOFTWARE
I do not run any performance intensive docker containers. Just DuckDNS and Dolphin, which are turned off for testing purposes anyways. The CPUI load from the server seems to be irrelevant. My VM installs a Windows 10 Pro original license. I do not install any antivirus or any software that could cause I/O or expensive background processes. I install only the necessary drivers, Google Chrome, Steam, Battle Net and Afterburner. I also disable hibernation and the windows search service.
 
OTHER SETTINGS
I'm using OVMF bios and the i440 architecture archetype, but as you can expect, I tried SeaBios and Q35 too and they had no effect whatsoever on my issue. Having VT-D and a decent IOMMU group separation, I do not need PCI override and I'm keeping Unsafe interrupts OFF. Naturally, I tried enabling both of them to no avail.
 
IOMMU groups
Here's a link to my IOMMU groups: https://goo.gl/JE3cjm
I can't spot anything worrying about them, and even if there was something, I highly doubt this kind of problem could effect a single application, but hey, I'm open to any suggestion here.
 
THE ISSUE
Heroes of the Storm is a heavily CPU dependent game, and it's especially reliant on good single core performance, as it is based on a relatively old deterministic lockstep game engine that makes it even quite dependent on network performance, and on top of that, it doesn't use many threads at all (basically a single core works hard and a second one performs some work but not much). My GPU is way overkill for the game. I have a 144 Hz monitor so I keep vertical sync off to let it pump out as many frames as possible: on bare metal my GPU clocks at pretty high utilization, but it doesn’t get higher then 85% probably because the CPU is bottle-necking it. On the VM though, my GTX1070 is sitting there at barely 40% usage, while the frame-rate is about half of bare metal. The empiric tests were done in offline vs AI mode running a predictable and repeatable situation, but that scenario is significantly less performance-intensive then a real, online match versus real players: in fact, real matches I tried, show an even worse situation for my VM: during team-fights (confusing situations with 10 player models, a lot of effects, physics-based rag-dolls and a plethora of sounds at the same time) the frame-rate often becomes abysmal with lows in the range of 30 to 40 FPS, and occasional total screen-hangs long enough to be noticeable and even resemble disk access in behavior. This is absolutely abnormal, as my bare metal machine runs it at well over 150 FPS in any possible circumstance no matter what.
The weirdness comes with the fact that Heroes of the Storm is the *only* game showing such cryptic behavior. I spent an untold amount of hours (days actually) testing, playing and accurately benchmarking dozens and dozens of games: *everything else* runs perfectly fine, with performance loss in the ballpark of about 5% less then bare metal. Synthetic benchmarks focusing on the GPU (Unigine) show basically no performance loss at all, while synthetic benchmarks for the CPU show very modest drops. More importantly, let me repeat for clarity: real games don’t show any significant and dramatic performance issue, not even very CPU intensive ones like Skyrim and Total War; every metric seem to be in line with each other, except Heroes of the Storm, which is the only game that seems to not like the VM, for some unfathomable reason.
I picked a subset of the games I tested and put them in a small easy to read table, with charts at the bottom. Here the link to a Google Spreadsheet of it: https://goo.gl/wmvGwx.

I selected the games that aren't entirely GPU dependent because I already established that there's nothing wrong with the GPU passthrough (well, with the exception of Rocket League that definitely doesn't stress anything outside the GPU, but I included it for reference anyways). As you can see I also tested the VM with a secondary configuration: only 6 cores pinned to it and isolated from UnRaid, so that any possible context switching or weirdness due to sharing cores with UnRaid is removed from the scenario. You can see how performance scales in a reasonable way for all games, while it drops dramatically for Heroes of the Storm from bare metal to VM. Look at the sheets at the bottom where you can find charts, as they provide a visual reference about the difference in behavior between Heroes of the Storm and other games. I actually tested many (many) other games, all with the same results: 5% drops, not fucking 40%!!!
I’m mad beyond comprehension because Heroes of the Storm is actually *the main purpose* of this virtualization server, as I badly wanted to play with my friends when they come over, and upgrading my second PC would cost way too much to enable gaming on it, and it's a clunky old thing in a disgusting cabinbet that I'd like to remove altogether. I’d rather upgrade my current main rig to a Ryzen Threadripper 2, buy lots of RAM and use it both as a NAS, as an FPT directory, and more importantly as a virtualization hub for gaming machines. But before I commit such a large sum of money, I need to be absolutely sure that it works well, and not erratically, especially in Heroes of the Storm.
If anyone has any idea, please help me out. I'm truly desperate.

 

Thanks in advance

Edited by nasuellia
Link to comment

I found the issue and it's actually related to virtualization so it might interest you all.

 

Apparently Heroes of the Storm makes use of some new debugging/tracing feature introduced with Windows10; that feature makes thousands of calls to LBR registers which are not virtualized on Intel processors. Hence, a huge performance drop compared to bare metal.

 

This affects a handful of games, but Heroes of the Storm isn't the only one apparently.

 

Here a few more instances of people stumbling on this:

 

https://www.spinics.net/lists/kvm/msg132500.html

- https://www.reddit.com/r/VFIO/comments/4o0bjk/how_to_fix_the_unsupported_msrs_in_win10/

https://www.redhat.com/archives/vfio-users/2016-May/msg00134.html

 

If anyone knows a way to disable the feature on Windows 10, please let me know.

Edited by nasuellia
Link to comment
21 minutes ago, nasuellia said:

If anyone knows a way to disable the feature on Windows 10, please let me know.

 

I am guessing by this statement and your link to to the Reddit article, you already know that Windows 8.1 is the go-to solution atm for this problem. I.E. 8.1 is harder to virtualize for your 3d.

 

Interesting problem for sure! I wonder if you could virtualize under a different virtualization platform to solve it as well...

 

 

Link to comment

I just did a test with a Windows 8.1 VM and unfortunately, it behaves the same exact way.

It's certainly possible that Microsoft patched the same functionality in W8.1 in the meantime.

 

I suspect the only real solution is to ditch Intel for a Threadripper instead, but I would need a confirmation before committing to the purchase.

Link to comment
12 hours ago, nasuellia said:

I just did a test with a Windows 8.1 VM and unfortunately, it behaves the same exact way.

It's certainly possible that Microsoft patched the same functionality in W8.1 in the meantime.

 

I suspect the only real solution is to ditch Intel for a Threadripper instead, but I would need a confirmation before committing to the purchase.

This is a free to play game right?

 

If so, if you remind me around 05 Oct, I may be able to help test it out on my Threadripper VM. Just send me a PM with link to this topic.

 

Currently too busy with 2 concurrent projects but should have more time around then.

  • Upvote 1
Link to comment
5 hours ago, testdasi said:

This is a free to play game right?

 

If so, if you remind me around 05 Oct, I may be able to help test it out on my Threadripper VM. Just send me a PM with link to this topic.

 

Currently too busy with 2 concurrent projects but should have more time around then.

Wow I did not expect someone to commit to that! If you ever come around to actually do it, well, thanks a lot!

 

Here's how you can reproduce the same test, which would have to be run on bare metal and then on VM in order to compare the results:

 

- Download and install MSI Afterburner (it includes Rivatuner).

- Launch Afterburner and enter the settings, benchmark tab, and set hotkeys to start/stop the bench.

- Download the battle net client from Blizzard. I won't post a link because I don't want to risk the anti-spam bot killing the post. It's easy to find though!

- Install Heroes of the Storm from the battle net client, it's a free to play game!

- Launch the game and set all settings to max. Also increase audio channels, audio quality and enable reverb.

- Restart the game just to make sure every change was applied correctly.

- Set your phone or whatever else with a timer or countdown for 5 minutes.

- Enter TRY MODE with any hero (I did it with Mephisto, but it's not relevant).

- As soon as your character spawn, start the timer, start the benchmark then head right towards the middle of the lane.

- Fight the minions and the AI opponent. Play safe and do not die. It's important for the benchmark.

- Keep playing without ever moving the camera away from your character, and stay in the middle of the lane.

- When the timer rings, stop the benchmark.

- Head to the default location where Rivatuner saves the bench. It should be in documents.

- Look at the average framerate.

- Do the same for the other machine (VM or bare metal) and post the results to make me cry (either way).

 

PS: I know it's written in a bit of an ELI-5 manner, but I wanted to make it clear in case anyone else wants to try this as well.

Link to comment
1 minute ago, testdasi said:

@nasuellia:

I will only be able to test VM to give you a general idea of what you are gonna get.

I won't be able to do a BM comparison cuz I no longer run anything BM.

 

Questions:

  • What sort of frame rate are you getting BM and VM in your current config for this particular test?
  • How to easiest survive 5 minutes? This looks like DOTA type which I'm rubbish at.

- Yes the game is free to play. You just need to download it from the BatteNet client. You also do not need to do anything special to access the try mode needed for the tests, and if I remember correctly, the 3-minutes tutorial is skippable (if it's still in the game at all, which I'm doubtful).

- The values I provided in the link to my google spreadsheet (here it is for your convenience: https://goo.gl/wmvGwx) are referring to the testing methodology I described for Heroes of the Storm. If you don't want to visit the link: I'm getting ~227 FPS on BM and ~164 FPS on VM. I see you've got a GTX1070 just like me, so it would actually be a meaningful test to do. Wow.

- Don't worry about dying, the Try Mode is truly incredibly easy, it's designed to let the player check out each hero's abilities, you won't die, ever. In fact you can even just stand back and spam abilities at random. Just make sure to keep the camera in the middle, and get both you, the AIs, and all the minions in the frustum of vision all the time (you can move the camera around a bit, just don't go astray and look at empty parts of the map like the spawn area or the north/south of the lane). As for not dying, you don't even need to actually fight the AI at all as the enemy character is purely melee and won't be able to hit you (and you have an ally AI healer so it's 2 v 1 and get healed all the time). Seriously, it's not gonna be an issue. ;)

 

Even if maybe you won't find the time do the test, thank you a lot in advance for proposing it, really appreciated. I'll make sure to remind you about it in the early days of October. Thanks truly. Feel free to ask anything you want!

Link to comment
1 hour ago, nasuellia said:

Wow I did not expect someone to commit to that!

I thought about it, but didn't offer because I wasn't sure if I was close enough for an "apples to apples" sort of comparison.  However I have a TR, GTX1070, but my 4K only pushes 30Hz, or 60Hz at 2K, so my FPS are more like in the 60's.  However if you think it would be useful I can make a VM and run this test, how many threads and RAM do you want provisioned in this experiment?

Link to comment
29 minutes ago, Jcloud said:

I thought about it, but didn't offer because I wasn't sure if I was close enough for an "apples to apples" sort of comparison.  However I have a TR, GTX1070, but my 4K only pushes 30Hz, or 60Hz at 2K, so my FPS are more like in the 60's.  However if you think it would be useful I can make a VM and run this test, how many threads and RAM do you want provisioned in this experiment?

Hey there, thanks for chipping in!

 

My test performed with 8 logical cores (4 physical) on my 6700K. My resolution is a bit weird because I have a 21:9 monitor so it's 2560x1080, but that doesn't matter at all, as the GTX1070 is waaaaay overshoot for Heroes of the Storm, that's why it sits there at 40% to 60% usage. The limiting factor is my processor, that is being crippled by this lack of LBR virtualization on Intel.

 

Therefore, any test with a comparable GPU would do, as long as it doesn't become the limiting factor (so if you ever decide to run the test, don't run it at 4K, run it at 1080p). Heroes of the Storm doesn't even multithreads very well either, it only uses two cores at most. Hence it doesn't really matter how many cores you commit to the test VM; in order to remain in the domain of reasonable comparison, I'd say keep to 4 or 5 physical cores and their hyperthreaded counterparts; but even a test with all your cores would still serve perfectly well to get an idea of how a Threadripper would perform in the given situation.

 

When it comes to RAM, again, it doesn't really matter as Heroes of the Storm is far from RAM hungry. I was allocating 12 GiB of memory to my VM, but if I recall correctly the game doesn't really uses more then 5 GiB at peak.

 

 

In any case, thanks a lot for getting interested, whether you end up running the test or not. Sincerely thanks.

Link to comment
22 minutes ago, testdasi said:

@nasuellia: 1080p resolution?

 

@Jcloud: I think he just wants a general idea as to what he's gonna get if he move to TR. His Intel build for sure will be crippled due to the issue but nobody seems to know if TR is on the same boat or not. So the exact config probably wont matter as much.

What a moron I am, I forgot to post the resolution. As I just said to Jcloud, I have a 21:9 monitor so I ran the tests @2560x1080. Running the test at @1920x1080 is perfectly fine, even better as the GPU isn't the limiting factor here, in fact I do not gain a single FPS by going down to 1080p either. Not one.

 

Your assessment of my needs is spot on: I need to verify whether AMD processors actually do not stumble on the issue of the lack of LBR virtualization (they should support it, according to the specs).

Threadripper processors even have comparable single core performance to my 6700K so it should actually be a reasonably accurate test no matter the number of cores (as hots uses just two at best): if it runs with a significant advantage over my system, it clearly means the AMD processors do not suffer from the issue.

Link to comment
7 hours ago, nasuellia said:

In any case, thanks a lot for getting interested, whether you end up running the test or not. Sincerely thanks.

I might be able to run it tonight, if not probably by Sunday night, I should have some numbers for you based on your test instructions.  I'll edit this post later with the data.

 

EDIT:  @nasuellia here are the results, the two shorter - I kept dying, lol trying to play the game.  

20-09-2018, 17:22:20 HeroesOfTheStorm_x64.exe benchmark completed, 20296 frames rendered in 185.250 s
                     Average framerate  :  109.5 FPS
                     Minimum framerate  :   89.5 FPS
                     Maximum framerate  :  140.7 FPS
                     1% low framerate   :   54.3 FPS
                     0.1% low framerate :   35.5 FPS
20-09-2018, 17:25:02 HeroesOfTheStorm_x64.exe benchmark completed, 15617 frames rendered in 140.031 s
                     Average framerate  :  111.5 FPS
                     Minimum framerate  :   89.4 FPS
                     Maximum framerate  :  157.4 FPS
                     1% low framerate   :   56.5 FPS
                     0.1% low framerate :   36.8 FPS
20-09-2018, 17:30:20 HeroesOfTheStorm_x64.exe benchmark completed, 32405 frames rendered in 311.797 s
                     Average framerate  :  103.9 FPS
                     Minimum framerate  :   85.2 FPS
                     Maximum framerate  :  122.3 FPS
                     1% low framerate   :   55.0 FPS
                     0.1% low framerate :   37.2 FPS

And this is what my system see's, from hwloc the VM in test had CoreP#14, #15, and their HT compliments.

topology.thumb.png.71d3db66b75722243df990940b7c244d.png

Edited by Jcloud
data
Link to comment

Had a bit of time tonight so gave it a try but I'm afraid bad news.

The test results were consistent but not near what you got.

GPU utilisation was consistently in the 35%-40% range so I guess whatever ailed your game had the same effect on mine.

20-09-2018, 20:46:31 HeroesOfTheStorm_x64.exe benchmark completed, 30914 frames rendered in 305.766 s
                     Average framerate  :  101.1 FPS
                     Minimum framerate  :   66.2 FPS
                     Maximum framerate  :  126.2 FPS
                     1% low framerate   :   51.0 FPS
                     0.1% low framerate :   13.4 FPS
20-09-2018, 20:52:27 HeroesOfTheStorm_x64.exe benchmark completed, 30514 frames rendered in 306.687 s
                     Average framerate  :   99.4 FPS
                     Minimum framerate  :   68.5 FPS
                     Maximum framerate  :  138.8 FPS
                     1% low framerate   :   50.6 FPS
                     0.1% low framerate :   15.2 FPS
20-09-2018, 21:03:27 HeroesOfTheStorm_x64.exe benchmark completed, 31031 frames rendered in 305.765 s
                     Average framerate  :  101.4 FPS
                     Minimum framerate  :   70.6 FPS
                     Maximum framerate  :  158.3 FPS
                     1% low framerate   :   50.2 FPS
                     0.1% low framerate :   19.6 FPS

 

I tried a few actual games (vs AI) and I thought it was playable.

20-09-2018, 20:08:32 HeroesOfTheStorm_x64.exe benchmark completed, 43437 frames rendered in 543.735 s
                     Average framerate  :   79.8 FPS
                     Minimum framerate  :   45.7 FPS
                     Maximum framerate  :  144.8 FPS
                     1% low framerate   :   33.5 FPS
                     0.1% low framerate :   15.9 FPS
20-09-2018, 21:16:54 HeroesOfTheStorm_x64.exe benchmark completed, 28067 frames rendered in 438.765 s
                     Average framerate  :   63.9 FPS
                     Minimum framerate  :   41.7 FPS
                     Maximum framerate  :   90.1 FPS
                     1% low framerate   :   30.0 FPS
                     0.1% low framerate :   17.2 FPS

 

  • Like 1
Link to comment
31 minutes ago, testdasi said:

Had a bit of time tonight so gave it a try but I'm afraid bad news.

The test results were consistent but not near what you got.

GPU utilisation was consistently in the 35%-40% range so I guess whatever ailed your game had the same effect on mine.

Hey testdasi, first of all thanks a lot for testing this out for me, you're pure gold!

 

Those results are worrying to say the least. I am assuming you ran the benchmark with the rig in your signature, so a Threadripper 2990WX. May I ask you how many cores did you assign to the VM?

 

From what I know, the 2990WX is actually quite abysmal at gaming because of the similarities with dual-CPU architecture causing lots of latency, especially if the assigned cores are not the ones tightly linked to the PCIexpress controller where the video card resides.

 

That said... we're talking about framerates even lower then mine, so it's... really alarming.

Again, consider that my bare metal runs with <low 1%> around 150 FPS in real matches.

 

This makes me very sad.

Edited by nasuellia
Link to comment
Just now, nasuellia said:

Hey testdasi, first of all thanks a lot for testing this out for me, you're pure gold!

 

Those results are worrying to say the least. I am assuming you ran the benchmark with the rig in your signature, so a Threadripper 2990WX. May I ask you how many cores did you assign to the VM?

 

From what I know, the 2990WX is actually quite abysmal at gaming because of the similarities with dual-CPU architecture causing lots of latency, especially if the assigned cores are not the ones tightly linked to the PCIexpress controller where the video card resides.

 

That said... we're talking about framerates even lower then mine, so it's... really alarming.

Again, consider that my bare metal runs with min 1% around 150 FPS in real matches.

 

This makes me very sad.

I have a topography-tuned VM for gaming.

  • Node 2 (direct connection my GTX 1070)
  • 6 cores of the node pinned to the VM in a 3-3 formation (3/CCX)
  • Emulator pinned on the remaining 2 cores of the node.
  • RAM in the same node

That's about as tuned as possible for gaming - which is only doable in a VM.

  • Upvote 1
Link to comment
1 minute ago, testdasi said:

I have a topography-tuned VM for gaming.

  • Node 2 (direct connection my GTX 1070)
  • 6 cores of the node pinned to the VM in a 3-3 formation (3/CCX)
  • Emulator pinned on the remaining 2 cores of the node.
  • RAM in the same node

That's about as tuned as possible for gaming - which is only doable in a VM.

And there goes my hope... 

May I ask you one last thing? It should be a very quick thing to do: can you verify the presence of the LBRV (or LBR-whatever) flag on your host?

This command should do the trick: 

cat /proc/cpuinfo

Link to comment

the cat/proc/cpuino


processor       : 2
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 1
model name      : AMD Ryzen Threadripper 1950X 16-Core Processor
stepping        : 1
microcode       : 0x8001137
cpu MHz         : 3510.287
cache size      : 512 KB
physical id     : 0
siblings        : 32
core id         : 2
cpu cores       : 16
apicid          : 4
initial apicid  : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca
bugs            : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 6786.23
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

Link to comment
4 minutes ago, nasuellia said:

And there goes my hope... 

May I ask you one last thing? It should be a very quick thing to do: can you verify the presence of the LBRV (or LBR-whatever) flag on your host?

This command should do the trick: 

cat /proc/cpuinfo

You might want to wait for @TType85 and @Jcloud to bench their 1950X. Perhaps in UMA mode it works better.

 

I can see lbrv

Quote

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca

 

Link to comment
Just now, TType85 said:

I'll try to test it tonight on 2 VM's.  I downloaded HOTS.  System is a 1950X, 32GB of 2933mhz ram, GTX 1070, GTX 1060 the VM's are pretty equivalent to yours (8 threads).

 

Wow, you are great. Seriously. Thanks so much! I have no words...

 

I also just saw your other post, pasting the CPU flags on your processors, and there actually is LBRV there...

Link to comment
1 minute ago, testdasi said:

You might want to wait for @TType85 and @Jcloud to bench their 1950X. Perhaps in UMA mode it works better.

 

I can see lbrv

 

Yeah, as expected, LBRV is there on AMD processors. Unfortunately it might not be the issue though... Unless NUMA mode is the problem there, but it doesn't seem believable for it to cause such a stupidly large drop... I mean, we're comparing that beast of a CPU with my humble, 3 years old, 6700K... UMA or NUMA, there should be a measurable advantage on your side. 

 

Man, I can't thank you enough. You helped a lot. 

 

Wait, did I already thank you? =D

Link to comment

What if the LBRV flag is not getting passed to the guest? Maybe check CPUz? 

 

I know... I sound desperate.

 

That's because I am.

 

I worked so hard to get the VM working on my system and everything seemed so great...

Now I'm discovering that, although it's certainly not a majority of the games, quite a few suffer from this issue (whether that's caused by hammered LBR or not).

Link to comment
38 minutes ago, nasuellia said:

What if the LBRV flag is not getting passed to the guest? Maybe check CPUz? 

Now that I think about it, that might very well be possible. There are 2 machine types available: Q35 and i440fx. Both are Intel chipsets so it's entirely possible that LBRV is not being emulated. That would sort of explain why you have similar performance in Win 8.1 VM, which supposedly isn't affected by the issue.

Edited by testdasi
Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.