[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7E82351C108FA840AB1866AC776AEC4608E237D5@orsmsx505.amr.corp.intel.com>
Date: Mon, 28 Jul 2008 15:05:09 -0700
From: "Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>
To: Andi Kleen <andi@...stfloor.org>,
Thomas Gleixner <tglx@...utronix.de>
CC: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>,
Dhaval Giani <dhaval@...ux.vnet.ibm.com>,
Len Brown <lenb@...nel.org>
Subject: RE: [PATCH] ACPI/CPUIDLE: prevent setting pm_idle to NULL
>-----Original Message-----
>From: Andi Kleen [mailto:andi@...stfloor.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists