From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: xen guest hang with TSC_DEADLINE Date: Mon, 20 Dec 2010 15:18:04 +0100 Message-ID: <201012201518.04667.Christoph.Egger@amd.com> References: <201012171529.56897.Christoph.Egger@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Wei, Gang" Cc: Keir, "xen-devel@lists.xensource.com" , Fraser List-Id: xen-devel@lists.xenproject.org On Sunday 19 December 2010 15:26:30 Wei, Gang wrote: > Christoph Egger wrote on=A02010-12-17: > > Hi, > > > > c/s 22529 and 22530 cause a xen guest hang. > > > > While "normal" guests like Linux and NetBSD boot fine I boot Xen > > itself as a xen guest for my nested virtualization. > > > > When I do that then the guest dom0 hangs at boot when it tries to > > initialize the first vcpu. > > The bug is introduced somewhere in c/s 22529 and triggers with c/s 2253= 0. > > Can you enable apic_timer debug info var hvm_debug and give more serial > port log around the guest dom0 hangs? I used to test xen guest, it works > well expect that it boot a little bit slowly. This is the log output I get with TSC_DEADLINE feature enabled: (XEN) [HVM:1.0] timer_divisor: 1 (XEN) [HVM:1.0] timer divisor is 0x1 (XEN) [HVM:1.0] timer initial count 1000000000, timer=20 current count 999546729, offset 453271 (XEN) [HVM:1.0] timer initial count 1000000000, timer=20 current count 989547039, offset 10452961 (XEN) [HVM:1.0] timer_divisor: 1 (XEN) [HVM:1.0] timer divisor is 0x1 (XEN) [HVM:1.0] timer_divisor: 1 (XEN) [HVM:1.0] timer divisor is 0x1 (XEN) [HVM:1.0] ignore tsc deadline msr write (XEN) [HVM:1.1] timer_divisor: 1 (XEN) [HVM:1.0] ignore tsc deadline msr write (XEN) [HVM:1.1] timer divisor is 0x1 (XEN) [HVM:1.1] ignore tsc deadline msr write (XEN) [HVM:1.1] ignore tsc deadline msr write (XEN) [HVM:1.2] timer_divisor: 1 (XEN) [HVM:1.2] timer divisor is 0x1 (XEN) [HVM:1.2] ignore tsc deadline msr write (XEN) [HVM:1.2] ignore tsc deadline msr write (XEN) [HVM:1.3] timer_divisor: 1 (XEN) [HVM:1.3] timer divisor is 0x1 (XEN) [HVM:1.3] ignore tsc deadline msr write (XEN) [HVM:1.3] ignore tsc deadline msr write The guest dom0 output right before the hang: ioapic0 at mainbus0 apid 1, virtual wire mode hypervisor0 at mainbus0: Xen version 4.1 vcpu0 at hypervisor0 The vcpu driver tries to detect the tsc frequency here. The dom0 uses the xen clock timer, the same a PV guest uses. This is the log output I get with TSC_DEADLINE feature disabled: (XEN) [HVM:1.0] timer_divisor: 1 (XEN) [HVM:1.0] timer divisor is 0x1 (XEN) [HVM:1.0] timer initial count 1000000000, timer=20 current count 999716563, offset 283437 (XEN) [HVM:1.0] timer initial count 1000000000, timer=20 current count 989716153, offset 10283847 (XEN) [HVM:1.0] timer_divisor: 1 (XEN) [HVM:1.0] timer divisor is 0x1 (XEN) [HVM:1.0] timer_divisor: 1 (XEN) [HVM:1.0] timer divisor is 0x1 (XEN) [HVM:1.1] timer_divisor: 1 (XEN) [HVM:1.1] timer divisor is 0x1 (XEN) [HVM:1.2] timer_divisor: 1 (XEN) [HVM:1.2] timer divisor is 0x1 (XEN) [HVM:1.3] timer_divisor: 1 (XEN) [HVM:1.3] timer divisor is 0x1 The guest dom0 output: ioapic0 at mainbus0 apid 1, virtual wire mode hypervisor0 at mainbus0: Xen version 4.1 vcpu0 at hypervisor0: AMD 686-class, 1895MHz xenbus0 at hypervisor0: Xen Virtual Bus Interface [...] =2D-=20 =2D--to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632