On Thu, Nov 08, 2007 at 12:19:44PM -0500, Valdis.Kletnieks@vt.edu wrote:wing patch fixes up the cpuidle / pm-qos integration. I suspect that this is folded into another mm patch but it should fix C-state issue identified. --mgross Signed-off-by: mark gross <mgross@linux.intel.com> ------------- Index: linux-2.6.23-mm1/drivers/cpuidle/cpuidle.c =================================================================== --- linux-2.6.23-mm1.orig/drivers/cpuidle/cpuidle.c 2007-11-08 13:09:53.000000000 -0800 +++ linux-2.6.23-mm1/drivers/cpuidle/cpuidle.c 2007-11-08 13:25:13.000000000 -0800 @@ -268,7 +268,7 @@ static inline void latency_notifier_init(struct notifier_block *n) { - pm_qos_add_notifier(PM_QOS_CPUIDLE, n); + pm_qos_add_notifier(PM_QOS_CPU_DMA_LATENCY, n); } #else /* CONFIG_SMP */ Index: linux-2.6.23-mm1/drivers/cpuidle/governors/ladder.c =================================================================== --- linux-2.6.23-mm1.orig/drivers/cpuidle/governors/ladder.c 2007-11-08 13:09:53.000000000 -0800 +++ linux-2.6.23-mm1/drivers/cpuidle/governors/ladder.c 2007-11-08 13:11:30.000000000 -0800 @@ -82,7 +82,7 @@ if (last_idx < dev->state_count - 1 && last_residency > last_state->threshold.promotion_time && dev->states[last_idx + 1].exit_latency <= - pm_qos_requirement(PM_QOS_CPUIDLE)) { + pm_qos_requirement(PM_QOS_CPU_DMA_LATENCY)) { last_state->stats.promotion_count++; last_state->stats.demotion_count = 0; if (last_state->stats.promotion_count >= last_state->threshold.promotion_count) { Index: linux-2.6.23-mm1/drivers/cpuidle/governors/menu.c =================================================================== --- linux-2.6.23-mm1.orig/drivers/cpuidle/governors/menu.c 2007-11-08 13:12:11.000000000 -0800 +++ linux-2.6.23-mm1/drivers/cpuidle/governors/menu.c 2007-11-08 13:24:03.000000000 -0800 @@ -48,7 +48,8 @@ break; if (s->target_residency > data->predicted_us) break; - if (s->exit_latency > pm_qos_requirement(PM_QOS_CPUIDLE)) + if (s->exit_latency > + pm_qos_requirement(PM_QOS_CPU_DMA_LATENCY)) break; } Index: linux-2.6.23-mm1/include/linux/pm_qos_params.h =================================================================== --- linux-2.6.23-mm1.orig/include/linux/pm_qos_params.h 2007-11-08 13:09:53.000000000 -0800 +++ linux-2.6.23-mm1/include/linux/pm_qos_params.h 2007-11-08 13:14:05.000000000 -0800 @@ -6,23 +6,12 @@ #include <linux/notifier.h> #include <linux/miscdevice.h> -struct requirement_list { - struct list_head list; - union { - s32 value; - s32 usec; - s32 kbps; - }; - char *name; -}; - #define PM_QOS_RESERVED 0 #define PM_QOS_CPU_DMA_LATENCY 1 #define PM_QOS_NETWORK_LATENCY 2 #define PM_QOS_NETWORK_THROUGHPUT 3 -#define PM_QOS_CPUIDLE 4 -#define PM_QOS_NUM_CLASSES 5 +#define PM_QOS_NUM_CLASSES 4 #define PM_QOS_DEFAULT_VALUE -1 int pm_qos_add_requirement(int qos, char *name, s32 value); Index: linux-2.6.23-mm1/kernel/pm_qos_params.c =================================================================== --- linux-2.6.23-mm1.orig/kernel/pm_qos_params.c 2007-11-08 13:09:54.000000000 -0800 +++ linux-2.6.23-mm1/kernel/pm_qos_params.c 2007-11-08 13:14:28.000000000 -0800 @@ -47,6 +47,16 @@ * held, taken with _irqsave. One lock to rule them all */ +struct requirement_list { + struct list_head list; + union { + s32 value; + s32 usec; + s32 kbps; + }; + char *name; +}; + struct pm_qos_object { struct requirement_list requirements; struct srcu_notifier_head notifiers; -
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Gabriel C | Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS] |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| David Miller | [GIT]: Networking |
| Thomas Jarosch | Re: TCP connection stalls under 2.6.24.7 |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
