public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Nadav Har'El" <nyh@math.technion.ac.il>
To: Avi Kivity <avi@redhat.com>
Cc: Chris Wright <chrisw@redhat.com>, kvm@vger.kernel.org
Subject: Re: KVM call minutes for Sept 21
Date: Sun, 26 Sep 2010 16:28:17 +0200	[thread overview]
Message-ID: <20100926142817.GA14396@fermat.math.technion.ac.il> (raw)
In-Reply-To: <4C9F4A37.9010906@redhat.com>

On Sun, Sep 26, 2010, Avi Kivity wrote about "Re: KVM call minutes for Sept 21":
> Don't worry, I want to merge nvmx as soon as possible (but not sooner).

Thanks, I'm happy to hear that.

> >So I don't think there has been any lack of reviews. I don't think that
> >getting more reviews is the most important task ahead of us.
> 
> The code is so incredibly complex that each review round raises new 
> issues, simply because they were hidden by other issues previously, or 
> because the reviewer's understanding only reached the point where they 
> can notice it recently.  Usually after a few rounds the review 
> converges.
> This hasn't yet happened with nvmx, because it is so complicated.

I completely agree. If you look at the sheer size of the VMX spec, it is
simply unavoidable that nested VMX, which is basically a VMX implementation,
will be complex. So if you want the nested VMX feature in KVM (and I
understand that you do), then you can't avoid this added complexity...

What is now my task is to do my best to make sure that while nested VMX
is complex, it shouldn't be more complex than it needs to be. But it
can't be less complex than it needs to be ;-)

> Don't worry, nvmx will not get rejected on those grounds.  However, the 
> lack of use cases is worrying.  I haven't seen the use cases you list 
> above used with nsvm, and no bug reports from users either.

I don't know why nested x86 virtualization hasn't caught on. I'll be honest
and admit that - yes - it's possibile that it's simply not useful to actual
users.

But there are other possibilities - which I'd like to think are the right ones.
Maybe it's a chicken-and-egg problem: Perhaps nobody knows how to use nested
virtualization because the most common hypervisor (vmware) doesn't support it,
and common clouds (e.g., Amazon EC2) don't support these kind of use cases.
Maybe the number of people who use KVM *and* AMD *and* need nested
virtualization is not big enough to have any sort of critical mass for building
use cases for this feature. And maybe nested virtualization is one of those
features that is useless to the majority of users, but to the few who need it,
it is very important.

I've been told that IBM System Z has supported (hardware-assisted) nested
virtualization right from the start (in the 70s), and there people actually
use nested virtualization all the time, typically of depth 2. I understand
(but admit that I don't have any first-hand knowledge of this) that nested
virtualization is mostly useful there for organization needs - one very
strong machine is divided into many virtual machines, and often a need arises
for a second level of organization. Maybe someone on this list has actual
experience with these systems and can relate war-stories about them?

> No need.  But, as we haven't converged yet, we may see new review items.

Of course, I'm used to those by now :-)

> What's absolutely critical is having code that is understood by more 
> people than just you.  Part of the process of increasing knowledge of 
> the code is reading it and raising issues... nothing much we can do to 
> change it.

I agree. It's definitely a really bad thing when only one person knows any
part of the code, and I'm happy that you've dived so deeply into the code
(and even though you feel like you don't understand it - I feel that you
do :-)). There are more people who understand much of this code even better
than I do (the people who wrote it originally), and of course anybody can
learn this code just like I did this year.

> I'm worried about maintaining core vmx after nvmx is merged, not nvmx 
> itself.  There are simply many more things to consider when making a change.

Right, but how can we avoid this issue, assuming that you do want nvmx in?
May I ask how this effected nested SVM?

> Note that we can work on a test suite in parallel with the kvm code.  
> Look at kvm-unit-tests.git x86/svm.c.

I will.

-- 
Nadav Har'El                        |      Sunday, Sep 26 2010, 18 Tishri 5771
nyh@math.technion.ac.il             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |I'm a peripheral visionary: I see into
http://nadav.harel.org.il           |the future, but mostly off to the sides.

  reply	other threads:[~2010-09-26 14:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-21 18:05 KVM call minutes for Sept 21 Chris Wright
2010-09-21 18:23 ` Anthony Liguori
2010-09-22  0:04 ` Nadav Har'El
2010-09-22  1:48   ` Chris Wright
2010-09-22 17:49     ` Nadav Har'El
2010-09-22 18:03       ` Anthony Liguori
2010-09-22 19:34         ` Joerg Roedel
2010-09-22 19:48       ` Joerg Roedel
2010-09-22  9:02   ` Gleb Natapov
2010-09-22 16:29     ` Nadav Har'El
2010-09-22 17:47       ` Gleb Natapov
2010-09-22 19:20         ` Joerg Roedel
2010-09-22 20:18           ` Gleb Natapov
2010-09-22 23:00             ` Nadav Har'El
2010-09-26 14:03           ` Avi Kivity
2010-09-26 20:25             ` Joerg Roedel
2010-09-27  8:36               ` Avi Kivity
2010-09-27 14:18                 ` Gleb Natapov
2010-09-27 14:22                   ` Avi Kivity
2010-09-26 13:27   ` Avi Kivity
2010-09-26 14:28     ` Nadav Har'El [this message]
2010-09-26 14:50       ` Avi Kivity

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=20100926142817.GA14396@fermat.math.technion.ac.il \
    --to=nyh@math.technion.ac.il \
    --cc=avi@redhat.com \
    --cc=chrisw@redhat.com \
    --cc=kvm@vger.kernel.org \
    /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