From mboxrd@z Thu Jan 1 00:00:00 1970 From: Donald Parsons Subject: Re: APIC problems with kvm-77 (was Re: [ANNOUNCE] kvm-77 release) SOLVED Date: Fri, 17 Oct 2008 19:46:22 -0400 Message-ID: <1224287182.4198.12.camel@falcon> References: <48F1E742.7080902@redhat.com> <20081017150848.GB11373@tapir> <20081017171504.GB22408@yukikaze> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Carlo Marcelo Arenas Belon , kvm@vger.kernel.org To: Sheng Yang Return-path: Received: from phil.doycomm.com ([66.219.128.249]:37625 "EHLO phil.doycomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753718AbYJRAla (ORCPT ); Fri, 17 Oct 2008 20:41:30 -0400 In-Reply-To: <20081017171504.GB22408@yukikaze> Sender: kvm-owner@vger.kernel.org List-ID: On Sat, 2008-10-18 at 01:15 +0800, Sheng Yang wrote:=20 > On Fri, Oct 17, 2008 at 10:08:48AM -0500, Carlo Marcelo Arenas Belon = wrote: > > On Sun, Oct 12, 2008 at 06:18:29PM +0000, Don Parsons wrote: > > >=20 > > > Trying to boot with kvm-77 gave a debugging hint, so here is > > > what I get. Does not look informative to me though. This was > > > typed from screen (Can copy paste work?): > > >=20 > > > Startup script: > > > modprobe kvm-intel; sleep 1 > > > /usr/local/kvm/bin/qemu-system-x86_64 vdisk_fedora9.img -m 2048 -= no-quit & > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > > > [First boot:] > > >=20 > > > Booting 'Fedora (2.6.26.5-45.fc9.i686)' > > > : > > > Booting the kernel. > > > ..MP-BIOS bug: 8254 timer not connected to IO-APIC > > > Kernel panic - not syncing: IO-APIC + timer doesn't work! Boot w= ith > > > apic=3Ddebug and send a report. Then try booting with the 'noa= pic' > > > option > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > >=20 > > this points to BOCHS BIOS bug, as a workaround you should be able t= o use the > > bios.bin file from the old kvm-75 version instead. I tried using the bios.bin from kvm-75 but it still fails. Not sure if extboot.bin might need matching bios.bin, so I copied it over too. But still fails. I just checked, extboot.bin's are identical so that was a no-op. As another check I went back to a complete kvm-75 replacement and found it now no longer works. One or two weeks ago it did. I also see that I only have vmlinuz-2.6.26.3-14.fc8 vmlinuz-2.6.26.5-28.fc8 both with CONFIG_KVM_GUEST=3Dy and no vmlinuz-2.6.25=20 Does kvm-77 still have the CONFIG_KVM_GUEST=3Dy problem? I suppose it does, since changelog does not mention it. I am now very confused. It might be that I only verified that kvm-76 worked with kernel-2.6.25.14-69.fc8.x86_64 (which I no longer have). I thought I verified kvm-75 with vmlinuz-2.6.26.5-28.fc8.x86_64 but now I am no sure. (My post got stuck waiting for Gmane autoauthorizer in my ISP's spam filter until I found it today). > Hi Carlo >=20 > Is that a BIOS bug filled/raised for this? It seems like IOAPIC didn'= t receive > pit interrupt in time to me. >=20 > Don, so does it happen everytime? And please show your computer envir= onment > as well. No, the boots are not consistent. Since it has failed to boot, it has always failed to boot. The text printed to screen it not always the same. Last Sunday when I originally wrote first email, I tried more boots and noticed one out of 4 had slightly different output. Today one out of several boots (with kvm-75 bios) showed it getting past above hangs, and trying to access disk but here it failed saying non-existent file(s), so it could not proceed. Also the "MP-BIOS bug: 8254 timer not connected to IO-APIC" only=20 occurred that one time out of about 12 attempted boots. I tried this patch from another thread http://article.gmane.org/gmane.comp.emulators.kvm.devel/23044 which for 2.6.26.6 becomes --- arch/x86/kvm/mmu.c~ 2008-10-17 15:51:19.000000000 -0400 +++ arch/x86/kvm/mmu.c 2008-10-17 15:52:42.000000000 -0400 @@ -2106,6 +2106,7 @@ static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu) { kvm_x86_ops->tlb_flush(vcpu); + set_bit(KVM_REQ_MMU_SYNC, &vcpu->requests); return 1; } but it fails to compile with: CC [M] arch/x86/kvm/mmu.o arch/x86/kvm/mmu.c: In function =E2=80=98kvm_pv_mmu_flush_tlb=E2=80=99: arch/x86/kvm/mmu.c:2109: error: =E2=80=98KVM_REQ_MMU_SYNC=E2=80=99 unde= clared (first use in this function) arch/x86/kvm/mmu.c:2109: error: (Each undeclared identifier is reported only once arch/x86/kvm/mmu.c:2109: error: for each function it appears in.) make[1]: *** [arch/x86/kvm/mmu.o] Error 1 make: *** [arch/x86/kvm] Error 2 Apparently a 2.6.27 only patch. Oops, no it is not. I figured out that the patch "path" actually refers to ./arch/x86/mmu.c in a kvm-77 tree. With this patch above applied to kvm-77 release results in my Fedora 8 guest booting and running properly. i.e., the patch: --- kernel/x86/mmu.c~ 2008-10-12 07:53:12.000000000 -0400 +++ kernel/x86/mmu.c 2008-10-17 17:47:46.000000000 -0400 @@ -2747,6 +2747,7 @@ static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu) { kvm_x86_ops->tlb_flush(vcpu); + set_bit(KVM_REQ_MMU_SYNC, &vcpu->requests); return 1; } So it appears that the SOLUTION for 2.6.26 or 2.6.27 is to apply above patch or wait for kvm-78.tgz Thanks to everyone who tried to help me. Don