From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Tiejun" Subject: Re: [bisected] KVM in 3.19-rc1 is completely broken Date: Wed, 24 Dec 2014 16:23:54 +0800 Message-ID: <549A781A.6010505@intel.com> References: <54992591.5070206@intel.com> <1967770651.2358249.1419369239480.JavaMail.zimbra@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm list , Igor Mammedov To: Andy Lutomirski , Paolo Bonzini , jamie@audible.transient.net Return-path: Received: from mga11.intel.com ([192.55.52.93]:28931 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750740AbaLXIX4 (ORCPT ); Wed, 24 Dec 2014 03:23:56 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 2014/12/24 5:29, Andy Lutomirski wrote: > On Tue, Dec 23, 2014 at 1:13 PM, Paolo Bonzini wrote: >> >>> I can reproduce it using the same steps on a Sandy Bridge laptop, with >>> whatever QEMU is packaged in Fedora 21. I attached the config. >>> >>> I also submitted a virtme update for Fedora Rawhide and 21 (20 is >>> still building) in case it helps. The build is here: >>> >>> http://koji.fedoraproject.org/koji/buildinfo?buildID=600732 >> >> The other reporter bisected it to >> 0e60b0799fedc495a5c57dbd669de3c10d72edd2. Can you try its parent? > > That's what I bisected it to. The parent works. > >> >> Also, does it break with 3.18 host and 3.19-rc1 guest, or with >> 3.19-rc1 host and 3.18 guest? (Sorry I should do this myself >> but I'm a bit swamped due to vacation until Jan 6th). >> > > The breakage is with 3.17.7-something L0 and the same test kernel as > L1 and L2. I think it breaks the same way with 3.19-rc1 as host and > guest without any nesting, but that's awkward to test right now. > Andy, Could you try this? Signed-off-by: Tiejun Chen --- virt/kvm/kvm_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index f528343..a2d928c 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -672,6 +672,7 @@ static void update_memslots(struct kvm_memslots *slots, WARN_ON(mslots[i].id != id); if (!new->npages) { new->base_gfn = 0; + new->flags = 0; if (mslots[i].npages) slots->used_slots--; } else { @@ -688,7 +689,7 @@ static void update_memslots(struct kvm_memslots *slots, i++; } while (i > 0 && - new->base_gfn > mslots[i - 1].base_gfn) { + new->base_gfn >= mslots[i - 1].base_gfn) { mslots[i] = mslots[i - 1]; slots->id_to_index[mslots[i].id] = i; i--; -- 1.9.1 Tiejun