RE: [PATCH] ACPI/CPUIDLE: prevent setting pm_idle to NULL

From: Pallipadi, Venkatesh
Date: Mon Jul 28 2008 - 18:06:22 EST




>-----Original Message-----
>From: Andi Kleen [mailto:andi@xxxxxxxxxxxxxx]
>Sent: Monday, July 28, 2008 12:53 PM
>To: Thomas Gleixner
>Cc: Andi Kleen; Linus Torvalds; Andrew Morton; LKML; Ingo
>Molnar; Dhaval Giani; Pallipadi, Venkatesh; Len Brown
>Subject: Re: [PATCH] ACPI/CPUIDLE: prevent setting pm_idle to NULL
>
>> The problem here is that the acpi/cpuidle code can be in a
>state where
>> the _save/old variables _ARE_ NULL because they had not been
>> initialized with the original pm_idle before the module is removed or
>> the cst state changes. So all we have to do is to prevent pm_idle to
>> be set to NULL.
>
>It still seems wrong to me to fall back to the cpuidle idle function
>instead of the earlier idle function just because cpuidle was loaded
>in a weird way.
>

CPUIDLE code does not have any problem here, as it always saves the
pm_idle from initcall, which should be set to right idle, default or mwait.
It is just a safety check getting added.

Real problem reported here is in acpi processor_idle without CPUIDLE, and
in a case where there are no real ACPI C-states on the platform,
it was ending up marking pm_idle = NULL at run time (cpu offline/online path),
as there is no saved idle pointer.

Thanks,
Venki
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/