Messages in this thread | | | From | "Pallipadi, Venkatesh" <> | Date | Mon, 28 Jul 2008 15:05:09 -0700 | Subject | RE: [PATCH] ACPI/CPUIDLE: prevent setting pm_idle to NULL |
| |
>-----Original Message----- >From: Andi Kleen [mailto:andi@firstfloor.org] >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
| |