All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>,
	kvm@vger.kernel.org
Subject: Re: [PATCH 4/4] KVM: Rework of guest debug state writing
Date: Thu, 4 Feb 2010 16:05:55 -0200	[thread overview]
Message-ID: <20100204180555.GA3861@amt.cnet> (raw)
In-Reply-To: <4B6AEAB8.3030509@siemens.com>

On Thu, Feb 04, 2010 at 04:41:44PM +0100, Jan Kiszka wrote:
> Jan Kiszka wrote:
> > Marcelo Tosatti wrote:
> >> On Thu, Feb 04, 2010 at 01:33:50AM +0100, Jan Kiszka wrote:
> >>> Marcelo Tosatti wrote:
> >>>> On Wed, Feb 03, 2010 at 10:29:45PM +0100, Jan Kiszka wrote:
> >>>>> So far we synchronized any dirty VCPU state back into the kernel before
> >>>>> updating the guest debug state. This was a tribute to a deficit in x86
> >>>>> kernels before 2.6.33. But as this is an arch-dependent issue, it is
> >>>>> better handle in the x86 part of KVM and remove the writeback point for
> >>>>> generic code.
> >>>> Jan,
> >>>>
> >>>> This patch breaks migration.
> >>> Can you elaborate what you did? I can't reproduce, and I do not see any
> >>> conceptual issue (given that guest debugging conflicts with migration
> >>> anyway).
> >> kvm-autotest fails (migration only, install is ok, both Linux and Win
> >> guests). Not sure why, perhaps the unconditional KVM_SET_GUEST_DEBUG
> >> corrupts state somehow? 
> >>
> >> Tested with io thread enabled.
> > 
> > That's this default-off thing, so... OK, confirmed, investigating.
> > 
> 
> Heisenbug: It first also popped up (in form of a frozen migration
> target) after removing this patch, but now it's totally unreproducible,
> whatever patch I apply or revert from my series. Base is current master.
>
> I tend to think there is a hidden issue of iothread vs. migration,
> unrelated to this patch.

Probably many :)

Do you have c5f32c99c6855d466737daf1cd262e7e92062f87 (from qemu-kvm.git
uq/master) in?

With kvm-autotest the failure is not sporadic (and the above commit
applied): with KVM_SET_GUEST_DEBUG in arch_put_regs all migration 
tests fail, without, all of them succeed. 

So env->kvm_guest_debug has been zeroed by cpu_x86_init, which means
the writeback via KVM_SET_GUEST_DEBUG does almost nothing. It does
get_rflags and set_rflags in the kernel.

Test box is off, but the synchronous writeback via qemu_system_reset
in main, after machine and vcpu thread initialization, might be
problematic. But it would be nice to understand this.

Unrelated to this problem, won't put_vcpu_events, which is executed 
after KVM_SET_GUEST_DEBUG, overwrite any queued debug exceptions?


WARNING: multiple messages have this Message-ID (diff)
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	Avi Kivity <avi@redhat.com>
Subject: [Qemu-devel] Re: [PATCH 4/4] KVM: Rework of guest debug state writing
Date: Thu, 4 Feb 2010 16:05:55 -0200	[thread overview]
Message-ID: <20100204180555.GA3861@amt.cnet> (raw)
In-Reply-To: <4B6AEAB8.3030509@siemens.com>

On Thu, Feb 04, 2010 at 04:41:44PM +0100, Jan Kiszka wrote:
> Jan Kiszka wrote:
> > Marcelo Tosatti wrote:
> >> On Thu, Feb 04, 2010 at 01:33:50AM +0100, Jan Kiszka wrote:
> >>> Marcelo Tosatti wrote:
> >>>> On Wed, Feb 03, 2010 at 10:29:45PM +0100, Jan Kiszka wrote:
> >>>>> So far we synchronized any dirty VCPU state back into the kernel before
> >>>>> updating the guest debug state. This was a tribute to a deficit in x86
> >>>>> kernels before 2.6.33. But as this is an arch-dependent issue, it is
> >>>>> better handle in the x86 part of KVM and remove the writeback point for
> >>>>> generic code.
> >>>> Jan,
> >>>>
> >>>> This patch breaks migration.
> >>> Can you elaborate what you did? I can't reproduce, and I do not see any
> >>> conceptual issue (given that guest debugging conflicts with migration
> >>> anyway).
> >> kvm-autotest fails (migration only, install is ok, both Linux and Win
> >> guests). Not sure why, perhaps the unconditional KVM_SET_GUEST_DEBUG
> >> corrupts state somehow? 
> >>
> >> Tested with io thread enabled.
> > 
> > That's this default-off thing, so... OK, confirmed, investigating.
> > 
> 
> Heisenbug: It first also popped up (in form of a frozen migration
> target) after removing this patch, but now it's totally unreproducible,
> whatever patch I apply or revert from my series. Base is current master.
>
> I tend to think there is a hidden issue of iothread vs. migration,
> unrelated to this patch.

Probably many :)

Do you have c5f32c99c6855d466737daf1cd262e7e92062f87 (from qemu-kvm.git
uq/master) in?

With kvm-autotest the failure is not sporadic (and the above commit
applied): with KVM_SET_GUEST_DEBUG in arch_put_regs all migration 
tests fail, without, all of them succeed. 

So env->kvm_guest_debug has been zeroed by cpu_x86_init, which means
the writeback via KVM_SET_GUEST_DEBUG does almost nothing. It does
get_rflags and set_rflags in the kernel.

Test box is off, but the synchronous writeback via qemu_system_reset
in main, after machine and vcpu thread initialization, might be
problematic. But it would be nice to understand this.

Unrelated to this problem, won't put_vcpu_events, which is executed 
after KVM_SET_GUEST_DEBUG, overwrite any queued debug exceptions?

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

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-03 21:29 [PATCH 0/4] KVM pull request: Various fixes and cleanups Jan Kiszka
2010-02-03 21:29 ` [Qemu-devel] " Jan Kiszka
2010-02-03 21:29 ` [PATCH 1/4] KVM: x86: Fix up misreported CPU features Jan Kiszka
2010-02-03 21:29   ` [Qemu-devel] " Jan Kiszka
2010-02-03 21:29 ` [PATCH 2/4] KVM: Make vmport KVM-compatible Jan Kiszka
2010-02-03 21:29   ` [Qemu-devel] " Jan Kiszka
2010-02-03 21:29 ` [PATCH 3/4] KVM: Move and rename regs_modified Jan Kiszka
2010-02-03 21:29   ` [Qemu-devel] " Jan Kiszka
2010-02-03 21:29 ` [PATCH 4/4] KVM: Rework of guest debug state writing Jan Kiszka
2010-02-03 21:29   ` [Qemu-devel] " Jan Kiszka
2010-02-03 23:49   ` Marcelo Tosatti
2010-02-03 23:49     ` [Qemu-devel] " Marcelo Tosatti
2010-02-04  0:33     ` Jan Kiszka
2010-02-04  0:33       ` [Qemu-devel] " Jan Kiszka
2010-02-04 13:00       ` Marcelo Tosatti
2010-02-04 13:00         ` [Qemu-devel] " Marcelo Tosatti
2010-02-04 15:04         ` Jan Kiszka
2010-02-04 15:04           ` [Qemu-devel] " Jan Kiszka
2010-02-04 15:41           ` Jan Kiszka
2010-02-04 15:41             ` [Qemu-devel] " Jan Kiszka
2010-02-04 18:05             ` Marcelo Tosatti [this message]
2010-02-04 18:05               ` Marcelo Tosatti
2010-02-04 18:53               ` Jan Kiszka
2010-02-04 18:53                 ` [Qemu-devel] " Jan Kiszka
2010-02-04 19:00                 ` Jan Kiszka
2010-02-04 19:00                   ` [Qemu-devel] " Jan Kiszka
2010-02-08 15:52                   ` Marcelo Tosatti
2010-02-08 15:52                     ` [Qemu-devel] " Marcelo Tosatti
2010-02-08 16:07                     ` Jan Kiszka
2010-02-08 16:07                       ` [Qemu-devel] " Jan Kiszka
2010-02-04 19:21                 ` Jan Kiszka
2010-02-04 19:21                   ` [Qemu-devel] " Jan Kiszka
2010-02-04 20:50                   ` Marcelo Tosatti
2010-02-04 20:50                     ` [Qemu-devel] " Marcelo Tosatti
2010-02-08 15:52                   ` Marcelo Tosatti
2010-02-08 15:52                     ` [Qemu-devel] " Marcelo Tosatti
2010-02-03 21:35 ` [Qemu-devel] [PATCH 0/4] KVM pull request: Various fixes and cleanups Anthony Liguori
2010-02-03 21:54   ` 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=20100204180555.GA3861@amt.cnet \
    --to=mtosatti@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --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 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.