WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] fxsave, fnsave, ltr hang for guest OS.

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] fxsave, fnsave, ltr hang for guest OS.
From: alarson@xxxxxxxx
Date: Thu, 4 Nov 2010 10:32:14 -0600
Bcc:
Delivery-date: Thu, 04 Nov 2010 09:33:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C8F6B655.8DE3%keir@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
History: fnsave in my 32-bit protected mode OS 'hangs' when paging is
turned on.

Keir Fraser <keir.xen@xxxxxxxxx> wrote on 11/03/2010 01:48:53 AM:

> Do a 'debug=y make' build of Xen and your backtraces will be precise as 
wthe
> build will include frame pointers. Looking at these backtraces, they 
mostly
> seem to be in vmx_intr_assist() doing interrupt delivery work (e.g.,
> hvm_isa_irq_assert()). Perhaps you are stuck in some kind of interrupt
> delivery loop?

It turns out that OpenSuse provides a debug xen kernel so I was able
to use that yesterday, but I wasn't making much progress until it
occurred to me that by pressing 'd', I'm sampling the stack of xen,
but I don't know for sure which client the xen stack represents.  When
I restricted the two clients (dom0 and my os) to exclusively their own
CPU, then, if you exclude the first trace below, a pattern seems to
emerge, and it would seem that I should start with sh_page_fault().

I think I can see a path forward, but I figured I'd post hoping to get
lucky again...

(XEN) Xen call trace:
(XEN)    [<ffff82c480120ecf>] _spin_is_locked+0x0/0x20
(XEN)    [<ffff82c4801b1df4>] vpic_get_highest_priority_irq+0x52/0xc7
(XEN)    [<ffff82c4801b1eaa>] vpic_update_int_output+0x41/0x9d
(XEN)    [<ffff82c4801b27b9>] vpic_irq_negative_edge+0xab/0xc0
(XEN)    [<ffff82c4801a9bea>] hvm_isa_irq_deassert+0x8a/0xa7
(XEN)    [<ffff82c4801b2ee0>] pt_update_irq+0x1b9/0x1f2
(XEN)    [<ffff82c4801b8296>] vmx_intr_assist+0x6f/0x229

(XEN) Xen call trace:
(XEN)    [<ffff82c4801bb952>] vmx_get_segment_register+0x182/0x3a5
(XEN)    [<ffff82c4801ced63>] hvm_get_seg_reg+0x43/0x4d
(XEN)    [<ffff82c4801cf11f>] shadow_init_emulation+0xa9/0x144
(XEN)    [<ffff82c4801dfaac>] sh_page_fault__guest_2+0x18c1/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801d29bd>] sh_remove_write_access+0xcce/0xce0
(XEN)    [<ffff82c4801dfef8>] sh_page_fault__guest_2+0x1d0d/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801faacd>] __mfn_valid+0x3e/0x58
(XEN)    [<ffff82c4801d80b2>] l1e_propagate_from_guest+0xd2/0x644
(XEN)    [<ffff82c4801df0d1>] sh_page_fault__guest_2+0xee6/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801faad1>] __mfn_valid+0x42/0x58
(XEN)    [<ffff82c4801df0f7>] sh_page_fault__guest_2+0xf0c/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801faa90>] __mfn_valid+0x1/0x58
(XEN)    [<ffff82c4801de6e8>] sh_page_fault__guest_2+0x4fd/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c48017f5e0>] x86_emulate+0x2c/0xefc8
(XEN)    [<ffff82c4801dfab7>] sh_page_fault__guest_2+0x18cc/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801caae8>] set_ad_bits+0x0/0x34
(XEN)    [<ffff82c4801de6e8>] sh_page_fault__guest_2+0x4fd/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801be932>] vmx_vmexit_handler+0x3fb/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801d769a>] sh_gva_to_gfn__guest_2+0x8/0x168
(XEN)    [<ffff82c4801a20ef>] __hvm_copy+0xe7/0x3ef
(XEN)    [<ffff82c4801a4fd9>] hvm_fetch_from_guest_virt_nofault+0x46/0x48
(XEN)    [<ffff82c4801cf196>] shadow_init_emulation+0x120/0x144
(XEN)    [<ffff82c4801dfaac>] sh_page_fault__guest_2+0x18c1/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801be932>] vmx_vmexit_handler+0x3fb/0x1ab8

(XEN) Xen call trace:
(XEN)    [<ffff82c4801ced20>] hvm_get_seg_reg+0x0/0x4d
(XEN)    [<ffff82c4801dfaac>] sh_page_fault__guest_2+0x18c1/0x1d45
(XEN)    [<ffff82c4801bed2c>] vmx_vmexit_handler+0x7f5/0x1ab8


This message is intended only for the use of the individual or entity to which 
it is addressed. If the reader of this message is not the intended recipient, 
or the employee or agent responsible for delivering the message to the intended 
recipient, you are hereby notified that any dissemination, distribution or 
copying of this message is strictly prohibited. If you have received this 
communication in error, please notify us immediately by replying to the sender 
of this E-Mail by return E-Mail or by telephone. 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel