kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v3 00/17] Introducing Linux root partition support for Microsoft Hypervisor
       [not found]       ` <20201215164245.yrorpipw2476w35e@liuwe-devbox-debian-v2>
@ 2021-02-02 10:40         ` David Woodhouse
  2021-02-02 12:16           ` Wei Liu
  0 siblings, 1 reply; 2+ messages in thread
From: David Woodhouse @ 2021-02-02 10:40 UTC (permalink / raw)
  To: Wei Liu, Enrico Weigelt, metux IT consult, kvm
  Cc: Linux on Hyper-V List, virtualization, Linux Kernel List,
	Michael Kelley, Vineeth Pillai, Sunil Muthuswamy, Nuno Das Neves,
	sameo, robert.bradford, sebastien.boeuf

[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]

On Tue, 2020-12-15 at 16:42 +0000, Wei Liu wrote:
> On Tue, Dec 15, 2020 at 04:25:03PM +0100, Enrico Weigelt, metux IT consult wrote:
> > On 03.12.20 00:22, Wei Liu wrote:
> > 
> > Hi,
> > 
> > > I don't follow. Do you mean reusing /dev/kvm but with a different set of
> > > APIs underneath? I don't think that will work.
> > 
> > My idea was using the same uapi for both hypervisors, so that we can use
> > the same userlands for both.
> > 
> > Are the semantis so different that we can't provide the same API ?
> 
> We can provide some similar APIs for ease of porting, but can't provide
> 1:1 mappings. By definition KVM and MSHV are two different things. There
> is no goal to make one ABI / API compatible with the other.

I'm not sure I understand.

KVM is the Linux userspace API for virtualisation. It is designed to be
versatile enough that it can support multiple implementations across
multiple architectures, including both AMD SVM and Intel VMX on x86.

Are you saying that KVM has *failed* to be versatile enough that this
can be "just another implementation"? What are the problems? Is it
unfixable? 

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5174 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v3 00/17] Introducing Linux root partition support for Microsoft Hypervisor
  2021-02-02 10:40         ` [PATCH v3 00/17] Introducing Linux root partition support for Microsoft Hypervisor David Woodhouse
@ 2021-02-02 12:16           ` Wei Liu
  0 siblings, 0 replies; 2+ messages in thread
From: Wei Liu @ 2021-02-02 12:16 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Wei Liu, Enrico Weigelt, metux IT consult, kvm,
	Linux on Hyper-V List, virtualization, Linux Kernel List,
	Michael Kelley, Vineeth Pillai, Sunil Muthuswamy, Nuno Das Neves,
	sameo, robert.bradford, sebastien.boeuf

On Tue, Feb 02, 2021 at 10:40:43AM +0000, David Woodhouse wrote:
> On Tue, 2020-12-15 at 16:42 +0000, Wei Liu wrote:
> > On Tue, Dec 15, 2020 at 04:25:03PM +0100, Enrico Weigelt, metux IT consult wrote:
> > > On 03.12.20 00:22, Wei Liu wrote:
> > > 
> > > Hi,
> > > 
> > > > I don't follow. Do you mean reusing /dev/kvm but with a different set of
> > > > APIs underneath? I don't think that will work.
> > > 
> > > My idea was using the same uapi for both hypervisors, so that we can use
> > > the same userlands for both.
> > > 
> > > Are the semantis so different that we can't provide the same API ?
> > 
> > We can provide some similar APIs for ease of porting, but can't provide
> > 1:1 mappings. By definition KVM and MSHV are two different things. There
> > is no goal to make one ABI / API compatible with the other.
> 
> I'm not sure I understand.
> 
> KVM is the Linux userspace API for virtualisation. It is designed to be
> versatile enough that it can support multiple implementations across
> multiple architectures, including both AMD SVM and Intel VMX on x86.
> 
> Are you saying that KVM has *failed* to be versatile enough that this
> can be "just another implementation"? What are the problems? Is it
> unfixable? 

The KVM APIs are good enough to cover guest life cycle management. To
make MSHV another implementation of the KVM APIs, we essentially need to
massage the data structures both way.

They are There is also an aspect for controlling the hypervisor that
affect the whole virtualization system. KVM APIs don't handle those. We
would need /dev/mshv for that purpose alone.

There is another aspect for Microsoft Hypervisor specific features and
enhancements, which aren't applicable to KVM. Features make sense for a
specific type-1 hypervisor may not make sense for KVM (a type-2
hypervisor). We have no intention to pollute KVM APIs with those. 

All in all the latter two points make /dev/mshv is a more viable route
in the long run.

Wei.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-02-02 12:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20201124170744.112180-1-wei.liu@kernel.org>
     [not found] ` <227127cf-bfea-4a06-fcbc-f6c46102e9e6@metux.net>
     [not found]   ` <20201202232234.5buzu5wysiaro3hc@liuwe-devbox-debian-v2>
     [not found]     ` <87d94c39-e801-fbc6-8f7f-1f1b00fa719d@metux.net>
     [not found]       ` <20201215164245.yrorpipw2476w35e@liuwe-devbox-debian-v2>
2021-02-02 10:40         ` [PATCH v3 00/17] Introducing Linux root partition support for Microsoft Hypervisor David Woodhouse
2021-02-02 12:16           ` Wei Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).