[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: BSOD "A clock interrupt was not recevied onasecondary processor within the allocated time interval"



Steven Smith wrote:
Alternative Viridian interface support was checked in. When enabled, it
ought to be sufficient to disable these bugchecks. Œviridian=1¹ needs to be
specified in the domain config file.
Hmm...  In order for the Viridian stuff to actually solve this
problem, you need to set the relaxed-timers bit.  It doesn't look like
the xen-unstable implementation does so.  Something like this might
help:

diff -r f6b92526e916 xen/arch/x86/hvm/viridian.c
--- a/xen/arch/x86/hvm/viridian.c       Tue Jan 06 09:14:39 2009 +0000
+++ b/xen/arch/x86/hvm/viridian.c       Tue Jan 06 10:32:26 2009 +0000
@@ -37,6 +37,7 @@
/* Viridian CPUID 4000004, Implementation Recommendations. */
 #define CPUID4A_MSR_BASED_APIC  (1 << 3)
+#define CPUID4A_RELAX_TIMER_INT_HANDLING (1 << 5)
int cpuid_viridian_leaves(unsigned int leaf, unsigned int *eax,
                           unsigned int *ebx, unsigned int *ecx,
@@ -84,7 +85,7 @@
         if ( (d->arch.hvm_domain.viridian.guest_os_id.raw == 0) ||
              (d->arch.hvm_domain.viridian.guest_os_id.fields.os < 4) )
             break;
-        *eax = CPUID4A_MSR_BASED_APIC;
+        *eax = CPUID4A_MSR_BASED_APIC | CPUID4A_RELAX_TIMER_INT_HANDLING;
         *ebx = 2047; /* long spin count */
         break;
     }

But note that I haven't tested this *at all*.

That appears to work. I have a test setup where I can introduce an arbitrary delay in qemu-dm. It's easy to trigger bug check 0x101 in Windows 2008 that way. Using viridian=1, with the relaxed timer bit set, I have been unable to crash Windows 2008.

Looks like a good thing to commit.

- Frank

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.