• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

VMDirectPath restrictions?

danswartz

2[H]4U
Joined
Feb 25, 2011
Messages
3,715
A curiosity bump question here: can anyone explain one of the restrictions? I understand why vmotion and HA are not usable, but am curious as to why the full memory specification needs to be reserved. Not a complaint, I'm an OS engineer, and am just curious what there is about the implementation that necessitates this.
 
Last edited:
That's a very good question, and I'll admit that I don't totally know the answer. I expect it may have to do with the lack of memory swapping that will happen with that, but I'll see if I can find out.
 
So far, the answers have been:
"Goats and runestones"
"Virgins and full moons around the stanford campus"

Still working on it.
 
That was my initial theory, so far doesn't seem to be panning out. Current working theories are TPS issues and / or DMA/IRQ mapping and isolation. Still working. It honestly is not something anyone has asked before...
 
I would have guessed something to do with DMAR. Honestly, I didn't really expect you to research this! Like I said, curiousity bump :)
 
Because a PCI card has a brain of its own that can access the memory controller outside hypervisor's supervision.

When a CPU instruction from a VM calls for an access to some memory location that isn't there an exception will be raised, the hypervisor will intercept that and try to figure out what's supposed to be there. If a PCI card does that the exception will be on the PCI card where there is no hypervisor, so it's just going to crash. Therefore the memory must be there.
 
Because a PCI card has a brain of its own that can access the memory controller outside hypervisor's supervision.

When a CPU instruction from a VM calls for an access to some memory location that isn't there an exception will be raised, the hypervisor will intercept that and try to figure out what's supposed to be there. If a PCI card does that the exception will be on the PCI card where there is no hypervisor, so it's just going to crash. Therefore the memory must be there.

That goes along with what lopoetve said - sounds reasonable to me!
 
Because a PCI card has a brain of its own that can access the memory controller outside hypervisor's supervision.

When a CPU instruction from a VM calls for an access to some memory location that isn't there an exception will be raised, the hypervisor will intercept that and try to figure out what's supposed to be there. If a PCI card does that the exception will be on the PCI card where there is no hypervisor, so it's just going to crash. Therefore the memory must be there.

certainly along the theory we were working on - any details of how you know this? :)
 
That's a good point. I keep forgetting that ram can be paged under esxi, correct? So any memory being used for DMA needs to be pinned for the guest OS?
 
It can't tell which (or if) memory is being used by a card though so it must pin everything down just in case it could be.

Every virtualization solution that does passthrough has the same restrictions and usually have comments to this effect in the manuals or in source.
 
Back
Top