On Thu, Feb 27, 2014 at 02:14:23AM +0530, Kashyap Chamarthy wrote: > On Wed, Feb 26, 2014 at 09:27:17PM +0100, Stefan Bader wrote: > > On 26.02.2014 21:25, Paolo Bonzini wrote: > > [. . .] > > > >> > > >> I bisected this and ended up on the following commit which, when reverted made > > >> the launch work again: > > >> > > >> Author: Anthoine Bourgeois <bourgeois@xxxxxxxxx> > > >> Date: Wed Nov 13 11:45:37 2013 +0100 > > >> > > >> kvm, vmx: Fix lazy FPU on nested guest > > >> > > >> If a nested guest does a NM fault but its CR0 doesn't contain the TS > > >> flag (because it was already cleared by the guest with L1 aid) then we > > >> have to activate FPU ourselves in L0 and then continue to L2. If TS flag > > >> is set then we fallback on the previous behavior, forward the fault to > > >> L1 if it asked for. > > >> > > >> Signed-off-by: Anthoine Bourgeois <bourgeois@xxxxxxxxx> > > >> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > > >> > > >> The condition to exit to L0 seems to be according to what the description says. > > >> Could it be that the handling in L0 is doing something wrong? > > > > > > Thanks, I'll look at it tomorrow or Friday. > > > > > > Paolo > > > > > Great thanks. And maybe it helps if I actually add the link to the bug report as > > I had intended... :-P > > > > [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1278531 > > Yes, I'm seeing something similar[*] in a consistent manner with minimal > Fedora installs on L0, L1 and L2 Ok, I just tried to debug an L2 guest (a libguestfs appliance) via gdb following this method[1]. This is how far I got: >From shell on L1, launch the libguestfs appliance (note: here libguestfs is compiled with gdb debugging enabled, so QEMU won't start running the appliance): $ ./run libguestfs-test-tool [. . .] checking modpath /lib/modules/3.14.0-0.rc2.git0.1.fc21.x86_64 is a directory picked kernel vmlinuz-3.14.0-0.rc2.git0.1.fc21.x86_64 supermin helper [00000ms] finished creating kernel [. . .] libguestfs: warning: qemu debugging is enabled, connect gdb to tcp::1234 to begin [. . .] >From a different shell, I invoke gdb like that: (gdb) symbol-file /usr/lib/debug/lib/modules/3.14.0-0.rc4.git0.1.fc21.x86_64/vmlinux Reading symbols from /usr/lib/debug/lib/modules/3.14.0-0.rc4.git0.1.fc21.x86_64/vmlinux...done. (gdb) target remote tcp::1234 Remote debugging using tcp::1234 0x0000fff0 in ftrace_stack () (gdb) bt #0 0x00000997 in irq_stack_union () #1 0x00000000 in ?? () (gdb) (gdb) c Continuing. Again, back to libguestfs-test-tool, it's just hung attempting to booting from ROM: [. . .] SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (mockbuild@) Wed Aug 14 23:57:08 UTC 2013 Term: 80x24 4 0 SeaBIOS (version 1.7.4-20140106_154858-) Booting from ROM... Back to gdb, to find out _what_ file the above function is trying to be executed from: (gdb) c Continuing. ^C Program received signal SIGINT, Interrupt. 0x00000997 in irq_stack_union () (gdb) bt #0 0x00000997 in irq_stack_union () #1 0x00000000 in ?? () (gdb) list 1 /* 2 * Copyright 2002, 2003 Andi Kleen, SuSE Labs. 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file COPYING in the main directory of this archive 6 * for more details. No warranty for anything given at all. 7 */ 8 #include <linux/linkage.h> 9 #include <asm/dwarf2.h> 10 #include <asm/errno.h> (gdb) [. . .] (gdb) 241 ENDPROC(csum_partial_copy_generic) (gdb) Line number 242 out of range; arch/x86/lib/csum-copy_64.S has 241 lines. (gdb) PS: Paolo, I'll try to test with your new patch soon. Thanks. [1] https://github.com/libguestfs/libguestfs/blob/master/src/launch-direct.c#L404 > > [*] https://bugzilla.kernel.org/show_bug.cgi?id=69491#c7 > > -- /kashyap -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html