intel / XenGT-Preview-xen

20 stars 7 forks source link

KVM support #2

Closed degasus closed 9 years ago

degasus commented 10 years ago

This project seems to target only XEN. As KVM is also used often by oss people, I'd like to see KVM support. How much work would it be to port the XEN changes to KVM? As the current work is mostly done by dom0, I think it should be possible to support KVM without huge redesigns.

Is there any roadmap for KVM support?

Do you think the client driver has to be touched for KVM support?

dcui commented 10 years ago

We’re working to port it to KVM now. The core logic in the vgt driver should be the same, but we do need some efforts to make it work on KVM, e.g., we may need use a different method to trap KVM guest’s PIO/MMIO accesses to the GPU, and we may need a different implementation to inject interrupt to KVM guest, etc.

I think the same guest graphics driver can be used by both XenGT and “KVM GT”.

Jaeyong-Yoo commented 10 years ago

How about the GPU driver in KVM host side. In case of xen, dom0 itself is a guest OS so we can trap & emulate GPU driver in dom0. But, in case of KVM host GPU driver directly accesses to GPU device. Would it be not a problem?

l1viathan commented 10 years ago

@Jaeyong-Yoo : good question. Actually we used a new method, named 'host mediation', to mediate MMIO and IRQ proactively. This is a must for KVM graphics virtualization, and optional for XenGT too. With host gpu driver mediated, the hypervisor won't trap host gpu access.

Jaeyong-Yoo commented 10 years ago

Thanks! jikesong. I have several follow-up questions:

1) Is it possible to use xenGT with atom CPUs? Since they don't have VT-d, I suspect there might be some issues.

2) Is current version of xenGT in this git hub have this feature (host mediation) ? Or, is it under construction?

l1viathan commented 10 years ago

1) Is it possible to use xenGT with atom CPUs? Since they don't have VT-d, I suspect there might be some issues.

I don't think that XenGT relies on VT-d :) However, it is not ported to Atom CPU yet.

2) Is current version of xenGT in this git hub have this feature (host mediation) ? Or, is it under construction?

Not yet. It's currently under development.

l1viathan commented 10 years ago

We are happy to announce that, the prototype of KVMGT porting is fundamentally working now, though there are lots of defects :)

Jaeyong-Yoo commented 9 years ago

That is great news. I would like to test KVMGT, but failed to find any repo related to it. Could you tell me about building and testing KVMGT?

l1viathan commented 9 years ago

Hi Jaeyong, the kvmgt porting is till a prototype, needs (at least) some cleanups before being released. We'll look into this shortly!

Jaeyong-Yoo commented 9 years ago

Thanks for the update. I see that you are going to present about KvmGT on KVM forum 2014. Congrats :-) BTW, would the expected release date be before the KVM forum? I'm dying waiting for testing this.

l1viathan commented 9 years ago

Hi Jaeyong, thanks for your attention:) However, KVM forum is coming soon, I'm afraid that we won't have enough time to complete this before that :( And besides, Windows guest is not yet supported.

l1viathan commented 9 years ago

KVMGT was released to:

git://github.com/01org/KVMGT-kernel
git://github.com/01org/KVMGT-qemu

There is a README.kvmgt in KVMGT-qemu repo. I'm going to close this issue.