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

Re: [Xen-devel] Kernel crash with acpi_processor, cpu_idle and intel_idle =y



On Mon, Jul 30, 2012 at 08:45:43AM +0100, Jan Beulich wrote:
> >>> On 28.07.12 at 14:55, Mark van Dijk <lists+xen@xxxxxxxxxxxxxx> wrote:
> >> > > So.. in that case make sure you have XEN_ACPI_PROCESSOR=y and
> >> > > "CONFIG_INTEL_IDLE is not set" and that should do it.
> >> > 
> >> > Didn't he say that with INTEL_IDLE disabled things work (perhaps
> >> > in a limited way, but at least don't crash)? My understanding is
> >> > that things should work even with it enabled, and I was under the
> >> > impression that you had already taken care of disabling cpuidle
> >> > and cpufreq in the kernel when running on Xen...
> >> 
> >> So did I - both of those (cpufreq and cpuidle) are disabled.
> >> 
> >> Mark, any chance you can collect the serial output when it crashes
> >> please? Actually, can you get the whole bootup log with 'loglevel=8
> >> debug' on the Linux command line?
> >> 
> > 
> > The sad part is that I don't have physical access to the box, the good
> > part is that I do have KVM and IPMI (SOL) access.
> > 
> > This is what I could capture:
> > 
> > http://i.imgur.com/t66FM.png 
> 
> The first thing intel_idle_init() does is check
> boot_option_idle_override, and I thought this got forced to
> something other than IDLE_NO_OVERRIDE by the Xen code.

Yeah, by me thinking everything is peachy and that override is
no longer needed :-(

> But at least in the current kernel that doesn't seem to be
> the case anymore, and thus I suppose that it's dying on the
> subsequent
> 
>       retval = cpuidle_register_driver(&intel_idle_driver);
>       if (retval) {
>               printk(KERN_DEBUG PREFIX "intel_idle yielding to %s",
>                       cpuidle_get_driver()->name);
>               return retval;
>       }
> 
> since cpuidle_get_driver() is presumably returning NULL (after
> all xen_arch_setup() does call disable_cpuidle()).

Duh! That is easy enough to fix. Mark, can you please try testing with
this patch (and obviously enable the CONFIG_INTEL_IDLE)

diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index d0f59c3..46a9884 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -557,7 +557,7 @@ static int __init intel_idle_init(void)
        retval = cpuidle_register_driver(&intel_idle_driver);
        if (retval) {
                printk(KERN_DEBUG PREFIX "intel_idle yielding to %s",
-                       cpuidle_get_driver()->name);
+                       cpuidle_get_driver() ? cpuidle_get_driver()->name : 
"none");
                return retval;
        }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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