All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joro@8bytes.org>
To: Zachary Amsden <zamsden@redhat.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>, Avi Kivity <avi@redhat.com>,
	kvm <kvm@vger.kernel.org>
Subject: Re: Nested SVM and migration
Date: Sat, 20 Feb 2010 21:18:23 +0100	[thread overview]
Message-ID: <20100220201822.GG20833@8bytes.org> (raw)
In-Reply-To: <4B80347E.7000003@redhat.com>

On Sat, Feb 20, 2010 at 09:14:06AM -1000, Zachary Amsden wrote:
> Perhaps I am misunderstanding, but I don't see how nested SVM instances  
> can be properly migrated.  How does one extract and rebuild the nested  
> hsave control block?

Migrating guests which run in nested mode could not be migrated in a
save way currently but there are plans to fix that :-)
The first step is to save the l1 cpu state in the guest supplied hsave
area. But that is not sufficient because this does not work for all l1
state.

> If it isn't done already, one possible way to add it as an extension  
> might be to represent the data as additional MSRs which are saved and  
> restored with migration.

This sounds complicated.

> Actually, looking deeper, there doesn't even appear to be any way to  
> export the nested CPU data at all, meaning basic features like  
> suspending and restoring the VM are not possible.  Is there any plan to  
> make it work in the near future?  I'm not complaining; if my  
> understanding is correct, this actually makes my current task easier.

I think we should introduce a flag to indicate userspace if a vcpu is in
a state that could be migrated in a save way together with a way for
userspace to request that the vcpu enters a migratable state. In the
kernel we could do something like that:

nested_svm_vmrun(...)
{
	/* ... */
	kvm_migration_disable(vcpu);
	/* ... */
}

nested_svm_vmexit(...)
{
	/* ... */
	kvm_migration_enable(vcpu);
	/* ... */
}

and somewhere in the vcpu_run loop:

if (vcpu->arch.migration_win_req)
	nested_svm_vmexit(INTR);

This might be helpful in other situations too. Thoughts?

	Joerg

  reply	other threads:[~2010-02-20 20:18 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-20 19:14 Nested SVM and migration Zachary Amsden
2010-02-20 20:18 ` Joerg Roedel [this message]
2010-02-20 23:26   ` Zachary Amsden
2010-02-21 12:10     ` Joerg Roedel
2010-02-21 12:24       ` Avi Kivity
2010-02-21 12:41         ` Joerg Roedel
2010-02-21 12:54           ` Avi Kivity
2010-02-21 13:09             ` Joerg Roedel
2010-02-21 13:14               ` Avi Kivity
     [not found]                 ` <4B8137E7.4030001@redhat.com>
     [not found]                   ` <20100221144352.GC26465@8bytes.org>
2010-02-22 16:54                     ` Zachary Amsden
     [not found]                     ` <4B814C41.7010105@redhat.com>
     [not found]                       ` <20100221155624.GD26465@8bytes.org>
2010-02-22 16:56                         ` Zachary Amsden
2010-02-22 16:59                           ` Avi Kivity
2010-02-22 16:46               ` Zachary Amsden
2010-02-22 17:07                 ` Joerg Roedel
2010-02-24 15:23               ` Joerg Roedel
2010-02-24 20:21                 ` Zachary Amsden
2010-02-22 16:42         ` Zachary Amsden
2010-02-22 16:44           ` Avi Kivity
2010-02-22 17:00             ` Zachary Amsden
2010-02-22 17:02               ` Avi Kivity
2010-02-22 17:07                 ` Zachary Amsden
2010-02-22 17:11                   ` Avi Kivity
2010-02-22 17:24                     ` Zachary Amsden
2010-02-22 16:39       ` Zachary Amsden
2010-02-21  7:23   ` Avi Kivity
2010-02-21  7:46     ` Gleb Natapov
2010-02-21  8:12       ` Avi Kivity
2010-02-21 12:18     ` Joerg Roedel

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=20100220201822.GG20833@8bytes.org \
    --to=joro@8bytes.org \
    --cc=avi@redhat.com \
    --cc=joerg.roedel@amd.com \
    --cc=kvm@vger.kernel.org \
    --cc=zamsden@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.