* [PATCH 1/5] processor: max_cstate means state not state type
@ 2004-12-23 14:06 Dominik Brodowski
[not found] ` <20041223140659.GA7973-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Dominik Brodowski @ 2004-12-23 14:06 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
len.brown-ral2JQCrhuEAvxtiuMwx3w
max_cstate shall limit C-states not C-state types.
Signed-off-by: Dominik Brodowski <linux-JhLEnvuH02M@public.gmane.org>
---
drivers/acpi/osl.c | 3 ++-
drivers/acpi/processor_idle.c | 10 ++++++----
2 files changed, 8 insertions(+), 5 deletions(-)
Index: linux-2.6.10-rc3+bk-acpi/drivers/acpi/osl.c
===================================================================
--- linux-2.6.10-rc3+bk-acpi.orig/drivers/acpi/osl.c 2004-12-23 13:21:12.000000000 +0100
+++ linux-2.6.10-rc3+bk-acpi/drivers/acpi/osl.c 2004-12-23 14:09:10.928848851 +0100
@@ -40,6 +40,7 @@
#include <acpi/acpi.h>
#include <asm/io.h>
#include <acpi/acpi_bus.h>
+#include <acpi/processor.h>
#include <asm/uaccess.h>
#include <linux/efi.h>
@@ -1155,7 +1156,7 @@
* max_cstate is defined in the base kernel so modules can
* change it w/o depending on the state of the processor module.
*/
-unsigned int max_cstate = ACPI_C_STATES_MAX;
+unsigned int max_cstate = ACPI_PROCESSOR_MAX_POWER;
EXPORT_SYMBOL(max_cstate);
Index: linux-2.6.10-rc3+bk-acpi/drivers/acpi/processor_idle.c
===================================================================
--- linux-2.6.10-rc3+bk-acpi.orig/drivers/acpi/processor_idle.c 2004-12-23 13:21:12.000000000 +0100
+++ linux-2.6.10-rc3+bk-acpi/drivers/acpi/processor_idle.c 2004-12-23 14:24:13.328939202 +0100
@@ -69,11 +69,12 @@
*/
static int no_c2c3(struct dmi_system_id *id)
{
- if (max_cstate > ACPI_C_STATES_MAX)
+ if (max_cstate > ACPI_PROCESSOR_MAX_POWER)
return 0;
printk(KERN_NOTICE PREFIX "%s detected - C2,C3 disabled."
- " Override with \"processor.max_cstate=9\"\n", id->ident);
+ " Override with \"processor.max_cstate=%d\"\n", id->ident,
+ ACPI_PROCESSOR_MAX_POWER + 1);
max_cstate = 1;
@@ -304,7 +305,8 @@
* mastering activity may prevent promotions.
* Do not promote above max_cstate.
*/
- if (cx->promotion.state && (cx->promotion.state->type <= max_cstate)) {
+ if (cx->promotion.state &&
+ ((cx->promotion.state - pr->power.states) <= max_cstate)) {
if (sleep_ticks > cx->promotion.threshold.ticks) {
cx->promotion.count++;
cx->demotion.count = 0;
@@ -344,7 +346,7 @@
/*
* Demote if current state exceeds max_cstate
*/
- if (pr->power.state->type > max_cstate) {
+ if ((pr->power.state - pr->power.states) > max_cstate) {
if (cx->demotion.state)
next_state = cx->demotion.state;
}
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 1/5] processor: max_cstate means state not state type
[not found] ` <20041223140659.GA7973-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org>
@ 2004-12-23 20:09 ` Len Brown
0 siblings, 0 replies; 2+ messages in thread
From: Len Brown @ 2004-12-23 20:09 UTC (permalink / raw)
To: Dominik Brodowski; +Cc: ACPI Developers
Applied
thanks,
-Len
On Thu, 2004-12-23 at 09:06, Dominik Brodowski wrote:
> max_cstate shall limit C-states not C-state types.
>
> Signed-off-by: Dominik Brodowski <linux-JhLEnvuH02M@public.gmane.org>
> ---
>
> drivers/acpi/osl.c | 3 ++-
> drivers/acpi/processor_idle.c | 10 ++++++----
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> Index: linux-2.6.10-rc3+bk-acpi/drivers/acpi/osl.c
> ===================================================================
> --- linux-2.6.10-rc3+bk-acpi.orig/drivers/acpi/osl.c 2004-12-23
> 13:21:12.000000000 +0100
> +++ linux-2.6.10-rc3+bk-acpi/drivers/acpi/osl.c 2004-12-23
> 14:09:10.928848851 +0100
> @@ -40,6 +40,7 @@
> #include <acpi/acpi.h>
> #include <asm/io.h>
> #include <acpi/acpi_bus.h>
> +#include <acpi/processor.h>
> #include <asm/uaccess.h>
>
> #include <linux/efi.h>
> @@ -1155,7 +1156,7 @@
> * max_cstate is defined in the base kernel so modules can
> * change it w/o depending on the state of the processor module.
> */
> -unsigned int max_cstate = ACPI_C_STATES_MAX;
> +unsigned int max_cstate = ACPI_PROCESSOR_MAX_POWER;
>
>
> EXPORT_SYMBOL(max_cstate);
> Index: linux-2.6.10-rc3+bk-acpi/drivers/acpi/processor_idle.c
> ===================================================================
> --- linux-2.6.10-rc3+bk-acpi.orig/drivers/acpi/processor_idle.c
> 2004-12-23 13:21:12.000000000 +0100
> +++ linux-2.6.10-rc3+bk-acpi/drivers/acpi/processor_idle.c
> 2004-12-23 14:24:13.328939202 +0100
> @@ -69,11 +69,12 @@
> */
> static int no_c2c3(struct dmi_system_id *id)
> {
> - if (max_cstate > ACPI_C_STATES_MAX)
> + if (max_cstate > ACPI_PROCESSOR_MAX_POWER)
> return 0;
>
> printk(KERN_NOTICE PREFIX "%s detected - C2,C3 disabled."
> - " Override with \"processor.max_cstate=9\"\n",
> id->ident);
> + " Override with \"processor.max_cstate=%d\"\n",
> id->ident,
> + ACPI_PROCESSOR_MAX_POWER + 1);
>
> max_cstate = 1;
>
> @@ -304,7 +305,8 @@
> * mastering activity may prevent promotions.
> * Do not promote above max_cstate.
> */
> - if (cx->promotion.state && (cx->promotion.state->type <=
> max_cstate)) {
> + if (cx->promotion.state &&
> + ((cx->promotion.state - pr->power.states) <= max_cstate))
> {
> if (sleep_ticks > cx->promotion.threshold.ticks) {
> cx->promotion.count++;
> cx->demotion.count = 0;
> @@ -344,7 +346,7 @@
> /*
> * Demote if current state exceeds max_cstate
> */
> - if (pr->power.state->type > max_cstate) {
> + if ((pr->power.state - pr->power.states) > max_cstate) {
> if (cx->demotion.state)
> next_state = cx->demotion.state;
> }
>
>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-12-23 20:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-23 14:06 [PATCH 1/5] processor: max_cstate means state not state type Dominik Brodowski
[not found] ` <20041223140659.GA7973-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org>
2004-12-23 20:09 ` Len Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox