From: Gleb Natapov <gleb@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
Jan Kiszka <jan.kiszka@web.de>, Avi Kivity <avi@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [PATCH 0/8] kvm: Fixes, cleanups and live migration
Date: Sat, 2 May 2009 20:23:08 +0300 [thread overview]
Message-ID: <20090502172308.GA13933@redhat.com> (raw)
In-Reply-To: <49FC4F90.1030901@codemonkey.ws>
On Sat, May 02, 2009 at 08:50:08AM -0500, Anthony Liguori wrote:
> Gleb Natapov wrote:
>> On Fri, May 01, 2009 at 05:40:00PM -0500, Anthony Liguori wrote:
>>
>>> Jan Kiszka wrote:
>>>
>>>> Besides refreshed versions of my already posted fixes and cleanups for
>>>> KVM, this series comes with patches to enable live migration in KVM
>>>> mode. If there is still some migration bit missing compared to qemu-kvm,
>>>> please let me know.
>>>>
>>> In qemu-kvm, we also save:
>>>
>>> MSR_IA32_TSC
>>> mp_state
>>> interrupt_bitmap
>>>
>>> In QEMU, we probably should just emulate MSR_IA32_TSC and then we can
>>> reuse that for save/restore.
>>>
>>> interrupt_bitmap is a bit more tricky. It only ever can have one bit
>>> set AFAICT but I don't see anything that we're currently saving that
>>> maps to it which leads me to wonder why KVM needs it and QEMU
>>> doesn't.
>>>
>>>
>> KVM stores pending interrupt there (interrupt that is not in irq chip
>> already but not yet injected to vcpu). I have patch (not yet submitted)
>> that removes the use of interrupt_bitmap from kernel. It recreated only
>> for migration bits. My plan is to change migration bits too, but it is
>> trickier if we want to keep backwards compatibility. No need to
>> introduce interrupt_bitmap in qemu upstream IMO. We need to migrate
>> pending interrupt though. The info that should be migrated it interrupt
>> vector, interrupt type (soft/hw) and instruction length (needed for
>> injection of soft interrupts on VMX).
>>
>
> I think the right thing to do with this is introduce a kvm-cpu savevm
> that stores this information since it isn't relevant to TCG. I think
> it's arguable whether you want instruction length there (can you get it
> reliably on SVM?).
>
We can't get it on SVM without instruction decoding, but it is not required
on SVM. It is absolutely essential for soft interrupt/exception injection
on VMX and has to be a part of migratable state.
> If we did that, v1 could be interrupt_bitmap and then v2 can be this new
> data layout.
>
> Regards,
>
> Anthony Liguori
>
>> --
>> Gleb.
>>
>>
>>
--
Gleb.
next prev parent reply other threads:[~2009-05-02 17:23 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 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 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 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 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 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 [this message]
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
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=20090502172308.GA13933@redhat.com \
--to=gleb@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=anthony@codemonkey.ws \
--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).