All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yong Wang <yong.y.wang@linux.intel.com>
To: Wincy Van <fanwenyi0529@gmail.com>
Cc: pbonzini@redhat.com, gleb@kernel.org, yang.z.zhang@intel.com,
	wanpeng.li@linux.intel.com, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, jan.kiszka@web.de
Subject: Re: [PATCH resend v5 6/6] KVM: nVMX: Enable nested posted interrupt processing
Date: Sun, 15 Feb 2015 14:27:55 +0800	[thread overview]
Message-ID: <20150215062755.GA2603@ywang-linux> (raw)
In-Reply-To: <1422979097-2203-1-git-send-email-fanwenyi0529@gmail.com>

On Tue, Feb 03, 2015 at 11:58:17PM +0800, Wincy Van wrote:
> If vcpu has a interrupt in vmx non-root mode, we will
> kick that vcpu to inject interrupt timely. With posted
> interrupt processing, the kick intr is not needed, and
> interrupts are fully taken care of by hardware.
> 
> In nested vmx, this feature avoids much more vmexits
> than non-nested vmx.
> 
> This patch use L0's POSTED_INTR_NV to avoid unexpected
> interrupt if L1's vector is different with L0's. If vcpu
> is in hardware's non-root mode, we use a physical ipi to
> deliver posted interrupts, otherwise we will accomplish
> that posted interrupt in nested vm-entry manually.
> 
> Signed-off-by: Wincy Van <fanwenyi0529@gmail.com>
> ---
>  arch/x86/kvm/lapic.c |   13 +++-
>  arch/x86/kvm/lapic.h |    1 +
>  arch/x86/kvm/vmx.c   |  151 ++++++++++++++++++++++++++++++++++++++++++++++++-
>  3 files changed, 158 insertions(+), 7 deletions(-)
> 

Wincy, our QA found regressions with this patch that 64bit L2 linux guest
fails to boot up when running nested kvm on kvm.

Environment:
------------
Host OS (ia32/ia32e/IA64):ia32e
Guest OS (ia32/ia32e/IA64):ia32e
Guest OS Type (Linux/Windows):Linux
kvm.git Commit:6557bada461afeaa920a189fae2cff7c8fdce39f
qemu.kvm Commit:5c697ae74170d43928cb185f5ac1a9058adcae0b
Host Kernel Version:3.19.0-rc3
Hardware:Ivytown_EP, Haswell_EP


Bug detailed description:
--------------------------
create 64bit linux guest as L2 guest, the guest boot up fail

note:
1. create a 32bit linux guest as L2 guest, the guest boots up fine.
2. create a 64bit windows guest as L2 guest, the guest boots up fine.
3. this should be a kernel bug:
kvm       + qemu     = result
6557bada  + 5c697ae7 = bad
8fff5e37  + 5c697ae7 = good

Reproduce steps:
----------------
1 create L1 guest:
qemu-system-x86_64 -enable-kvm -m 8G -smp 4 -net nic,macaddr=00:12:31:34:51:31 -net tap,script=/etc/kvm/qemu-ifup nested-kvm.qcow -cpu host

2. create L2 guest
qemu-system-x86_64 -enable-kvm -m 2G -smp 2 -net none rhel6u5.qcow

Current result:
----------------
create 64bit linux guest as L2 guest, the guest boots up fail

Expected result:
----------------
create 64bit linux guest as L2 guest, the guest boots up fine

Please take a look.

Thanks
-Yong


  reply	other threads:[~2015-02-15  6:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03 15:58 [PATCH resend v5 6/6] KVM: nVMX: Enable nested posted interrupt processing Wincy Van
2015-02-15  6:27 ` Yong Wang [this message]
2015-02-15 13:01   ` Wincy Van
2015-02-27  8:56   ` Wincy Van
2015-02-27  9:04     ` Wanpeng Li
2015-03-02 10:18     ` Yong Wang

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=20150215062755.GA2603@ywang-linux \
    --to=yong.y.wang@linux.intel.com \
    --cc=fanwenyi0529@gmail.com \
    --cc=gleb@kernel.org \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=wanpeng.li@linux.intel.com \
    --cc=yang.z.zhang@intel.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.