Messages in this thread |  | | | Subject | RE: + restore-missing-sysfs-max_cstate-attr.patch added to -mm tree | | Date | Fri, 4 Jan 2008 13:59:01 -0800 | | From | "Pallipadi, Venkatesh" <> |
>-----Original Message----->From: Mark Lord [mailto:lkml@rtr.ca] >Sent: Friday, January 04, 2008 1:53 PM>To: Pallipadi, Venkatesh>Cc: Arjan van de Ven; Andrew Morton; abelay@novell.com;
>lenb@kernel.org; Ingo Molnar; linux-kernel@vger.kernel.org;
>linux-acpi@vger.kernel.org; rjw@sisk.pl>Subject: Re: + restore-missing-sysfs-max_cstate-attr.patch
>added to -mm tree>>Mark Lord wrote:>> Venki Pallipadi wrote:>>> Reintroduce run time configurable max_cstate for !CPU_IDLE case.
>>>>>> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
>>>
>>> Index: linux-2.6.24-rc/drivers/acpi/processor_idle.c
>>> ===================================================================
>>> --- linux-2.6.24-rc.orig/drivers/acpi/processor_idle.c
>>> +++ linux-2.6.24-rc/drivers/acpi/processor_idle.c
>>> @@ -76,7 +76,11 @@ static void (*pm_idle_save) (void) __rea
>>> #define PM_TIMER_TICKS_TO_US(p) (((p) *
>>> 1000)/(PM_TIMER_FREQUENCY/1000))
>>>
>>> static unsigned int max_cstate __read_mostly = >ACPI_PROCESSOR_MAX_POWER;>>> +#ifdef CONFIG_CPU_IDLE>>> module_param(max_cstate, uint, 0000);
>>> +#else
>>> +module_param(max_cstate, uint, 0644);
>>> +#endif
>>> static unsigned int nocst __read_mostly;
>>> module_param(nocst, uint, 0000);
>>> >> ..>> >> I'll try and re-test with this on Friday.>..>>Okay, with !CONFIG_CPU_IDLE, this works fine -- same as 2.6.23
>and earlier.>
Good to know. Atleast we do not have a regression for 2.6.24 now.
>> Meanwhile, can you give a short summary of how behaviour differs
>> between CONFIG_CPU_IDLE and !CONFIG_CPU_IDLE ??>> >> I'm not at all clear on how this really affects things.>
With CPU_IDLE, the C-state policy is removed from acpi driver. Ideally
policy should have nothing to do with ACPI, as ACPI only provides the
C-state mechanisms. So, with CPU_IDLE, it is not easy to control this
variable through a acpi driver module at run time. Also, the latency
interface that was mentioned before is to serve the same purpose in a
more clear manner (based on the wakeup latency) instead of a C-state
number which may not mean much from the end user point of view.
I will look at why latency does not work on a single core system
soon(Was that with UP kernel or SMP kernel?). That way we will have a
proper cover for this with CPU_IDLE in future.
Thanks,
Venki
|  |