opteron 6274 cpu (Two 8 core NUMA sets)
nvidia geforce 780 assigned to the VM (not the primary video device)
qemu-kvm invoked via libvirt (with hyperV enlightenments enabled)
windows 10 in the VM
By any measure I should be able to play new games at high settings with good FPS (most of them can use all 16 cores of my CPU, negating the mediocre single threaded performance) however I experience low FPS, a high amount of interrupts (10-20% of the 14 cores assigned to the VM) and weird stuttering that makes NPCs spawn improperly (timer issue?). I have enabled the NUMA tune options.
It all used to work fine and I was able to max out my games but then something changed.
How come the host doesn’t inform the guest of frequency scaling? it always stays the same is that an issue? the cpu frequency in the guest is lower than the max cpu boost frequency.
Is there a method to verify proper hyperV enlightnments enablement? such as the timer? months ago I had enabled the hyperv clock and it fixed my issues however now they are back again.
You might try pinning your cores and memory.
It makes sense to do that to enforce maximum usage and availability of cache,
If you don’t pin then it’s anyone’s guess whether the spawned thread will run on the best cpu, core and physical memory… In fact, I’d even suggest that maybe the odds aren’t with you.
I wouldn’t know if it makes any difference that your Guests are oblivious of frequency scaling on the host…
Someone would have to do some testing to see if out of norm frequency rates are reported in the Guest, assuming that the Host is running multiple active Guests, the Host is where you will read real (not virtualized) parameters.
This all assumes you’re not also doing hardware pass-through.
I forgot to mention I already pinned them and I have hugepages. I did however mention that I am doing IOMMU-GFX with my graphics card assigned to the VM, the issue is the poor 3D performance and stuttering when I play certain games that used to work fine.
For anything that might be related to Hyper-V Enlightenments, you’ll probably find ample info searching for MSDN articles… Depending on your current “deep dive” knowledge, it might take a long time to read through foundation articles before being able to focus on specifics.
I am using windows 10 not 7, I saw that one already I can’t use hugepages with NUMA tuned memory because the VM’s memory is being spread across both NUMA nodes instead of simply allocated per node as needed - how can I fix this? I have searched for 10 minutes I can’t find info as to why I can’t allocated hugepages on a per node basis.
I may look at this more when I have time,
But I’ve already posted at least 3 times in Windows forums my complaints about how Win8/Win10 memory allocation has changed and various tools and methods which worked up to Win7 don’t work anymore… All which have gone unanswered over the years, or at least not with a solution. There have only been comments about suggested utilities to look at, and analyze how memory is managed(Now, it’s a lot like SSD drives where memory has to go through a number of steps of de-allocation and erasure before it can be re-used).
So, there <may> not be a solution for what you’re finding.