Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Amy Parker <apark0006@student.cerritos.edu>,
	Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org
Subject: Re: Addition of a staging subdirectory to virt/ for in-development features
Date: Thu, 21 Oct 2021 16:31:31 +0200	[thread overview]
Message-ID: <439c4a77-498d-43c3-4459-46a583a8459a@redhat.com> (raw)
In-Reply-To: <CAPOgqxEj-XEfWZSaY-jxWNWgcWHGKF2qgLXEcs6+y54jfcocQg@mail.gmail.com>

Hi Amy,

I don't think any of these justify a different approach than what we are 
doing already.

On 21/10/21 04:24, Amy Parker wrote:
> 1. Supporting new hardware virtualization technologies, which may take
> a while to develop but should still be available to users for testing
> and non-production purposes while being refined, such as on new
> architectures or by new manufacturers. It's entirely possible that
> there will be new competitors in the x86_64 space soon, especially
> with the increasing popularity of the concept of 128-bit computing
> architectures.

The issue here would be, first and foremost, whether the architectures 
would be supported by Linux.  As KVM RISC-V is going to be included in 
Linux 5.16, I'm not sure what other architectures would be supported by 
Linux but only have experimental status in KVM.

In particular, the recent disagreements about including KVM for RISC-V 
in some kind of "staging" code arose only after the architectural 
specification had reached considerable stability, and so had the KVM code.

> 2. Experimental algorithms which optimize current functions; these may > not be immediately production-ready, but should be available to the
> end user in something like the staging folder.

These are also not suitable for a separate staging subtree.  Almost 
always such optimizations require changes to existing code, in such a 
way that the existing code needs to be aware of what the more 
experimental code is doing.

It is okay to include experimental algorithms and optimizations before 
they have reached feature parity with what they're supposed to replace. 
  See for example the "TDP MMU" code that has been contributed over the 
past year and has only reached feature parity in 5.15.

> 3. Other future virtualization technologies, should they ever be
> added, such as cross-binary architecture and syscall compatibility.

This is the same as the previous point: we have some code in Linux that 
is not used widely (KVM for s390 has some microcode testing 
functionality that is only used internally at IBM, and the Xen emulation 
layer is only used by Amazon as far as I know), but it's okay to include 
it if it's maintainable, reasonably mature, and covered by test cases. 
However, contributions to KVM should follow the same quality standards 
as the rest of Linux.

Thanks,

Paolo


      reply	other threads:[~2021-10-21 14:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-20 22:28 Addition of a staging subdirectory to virt/ for in-development features Amy Parker
2021-10-20 23:11 ` Sean Christopherson
2021-10-21  2:24   ` Amy Parker
2021-10-21 14:31     ` Paolo Bonzini [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=439c4a77-498d-43c3-4459-46a583a8459a@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=apark0006@student.cerritos.edu \
    --cc=kvm@vger.kernel.org \
    --cc=seanjc@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox