qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [PATCH  0/8] kvm: Fixes, cleanups and live migration
Date: Sun, 3 May 2009 11:35:31 +0300	[thread overview]
Message-ID: <20090503083531.GK9795@redhat.com> (raw)
In-Reply-To: <49FD4F5E.8010907@redhat.com>

On Sun, May 03, 2009 at 11:01:34AM +0300, Avi Kivity wrote:
> Gleb Natapov wrote:
>>> I don't want the migration protocol to encode vendor specific   
>>> information. The architectural state is complicated enough, we don't  
>>> want microarchitectural state as well.
>>>     
>> Then I don't see how migration can work correctly. How do you expect
>> migration to work if you don't migrate part of a processor state? Why
>> not drop non migratable state immediately after exit then? (that is
>> essentially what happens if we don't migrate it).
>>   
>
> If we can roll back the state to before the software interrupt executed,  
> we are never in the situation where the instruction length is needed.
>
Not according to Intel :)

> The whole mess is needed because vmx allows exiting after a software  
> interrupt instruction has been executed, but before the software  
> interrupt was processed by the cpu. If we unexecute the instruction and  
> forget the software interrupt, everything will continue to work.
>
VMX exits with RIP pointing to software interrupt instruction (i.e before
instruction execution), so no need to "unexecute" it. Intel advice to
inject software interrupt as opposite to reexecute instruction. If we
will not migrate information needed to inject soft interrupt we will
have to reexecute it after migration. May be this is not a big deal.

--
			Gleb.

  reply	other threads:[~2009-05-03  8:35 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-01 21:17 [Qemu-devel] [PATCH 0/8] kvm: Fixes, cleanups and live migration Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 1/8] kvm: Conditionally apply workaround for KVM slot handling bug Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 6/8] kvm: Fix framebuffer dirty log sync Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 3/8] kvm: Fix dirty log temporary buffer size Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 5/8] kvm: Add missing bits to support live migration Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 2/8] kvm: Introduce kvm_set_migration_log Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 4/8] kvm: Rework dirty bitmap synchronization Jan Kiszka
2009-05-03 10:05   ` [Qemu-devel] " Avi Kivity
2009-05-04  8:52     ` Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 7/8] Introduce reset notifier order Jan Kiszka
2009-05-01 23:52   ` Paul Brook
2009-05-02  0:05     ` [Qemu-devel] " Jan Kiszka
2009-05-02  0:34       ` Paul Brook
2009-05-04  7:45         ` Jan Kiszka
2009-05-01 21:17 ` [Qemu-devel] [PATCH 8/8] kvm: Rework VCPU reset Jan Kiszka
2009-05-03 15:58   ` [Qemu-devel] " Avi Kivity
2009-05-04  8:54     ` Jan Kiszka
2009-05-04  9:12       ` Avi Kivity
2009-05-04  9:29         ` Jan Kiszka
2009-05-04 10:01           ` Avi Kivity
2009-05-01 22:30 ` [Qemu-devel] Re: [PATCH 0/8] kvm: Fixes, cleanups and live migration Anthony Liguori
2009-05-01 22:49   ` Anthony Liguori
2009-05-01 22:49   ` Jan Kiszka
2009-05-01 22:40 ` Anthony Liguori
2009-05-01 22:56   ` Jan Kiszka
2009-05-02  8:07     ` Avi Kivity
2009-05-02  7:40   ` Gleb Natapov
2009-05-02 13:50     ` Anthony Liguori
2009-05-02 17:23       ` Gleb Natapov
2009-05-02 19:12         ` Avi Kivity
2009-05-02 20:07           ` Gleb Natapov
2009-05-02 20:09             ` [Qemu-devel] Re: [PATCH 0/8] kvm: Fixes, cleanups and livemigration Anthony Liguori
2009-05-03  5:25               ` Gleb Natapov
2009-05-03  5:57             ` [Qemu-devel] Re: [PATCH 0/8] kvm: Fixes, cleanups and live migration Avi Kivity
2009-05-03  6:05               ` Gleb Natapov
2009-05-03  7:36                 ` Avi Kivity
2009-05-03  7:46                   ` Gleb Natapov
2009-05-03  7:50                     ` Avi Kivity
2009-05-03  7:56                       ` Gleb Natapov
2009-05-03  8:01                         ` Avi Kivity
2009-05-03  8:35                           ` Gleb Natapov [this message]
2009-05-01 22:49 ` [Qemu-devel] [PATCH 9/8] kvm: Save/restore TSC counter Jan Kiszka
2009-05-01 22:51   ` [Qemu-devel] " Anthony Liguori
2009-05-01 22:58     ` Jan Kiszka
2009-05-01 23:09       ` Jan Kiszka
2009-05-01 23:18         ` Anthony Liguori
2009-05-02  0:08   ` [Qemu-devel] [PATCH 9/8] kvm: x86: Save/restore KVM-specific CPU states Jan Kiszka
2009-05-02  0:20     ` [Qemu-devel] [PATCH 9/8 v2] " Jan Kiszka

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=20090503083531.GK9795@redhat.com \
    --to=gleb@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=jan.kiszka@web.de \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).