From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jacob Pan Subject: [PATCH 0/3] Hook up powerclamp with PM QOS and cpuidle Date: Tue, 26 Nov 2013 15:20:08 -0800 Message-ID: <1385508011-26914-1-git-send-email-jacob.jun.pan@linux.intel.com> Return-path: Received: from mga14.intel.com ([143.182.124.37]:19201 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754404Ab3KZXUS (ORCPT ); Tue, 26 Nov 2013 18:20:18 -0500 Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Linux PM , LKML , Peter Zijlstra , Rafael Wysocki , Len Brown , Arjan van de Ven , Zhang Rui Cc: Jacob Pan This patchset is intended to address the behavior change and efficiency loss introduced by using consolidated idle routine in powerclamp driver. Specifically, [PATCH 3/8] idle, thermal, acpi: Remove home grown idle implementations The motivation is that after using common idle routine, powerclamp driver can no longer pick the deepest idle state needed to conserve power. Idle state is selected by governors which can be influenced by PM QOS and other factors. This patchset hooks up powerclamp idle injection with PM QOS and eventually influce idle governors to pick the power saving target states. There are some downside of this approach. Due to overhead, communication with PM QOS is at enable/disable idle injection time instead of each injection period. The implication is that if the system natual idle is more than target injected idle, powerclamp will skip some injection period. During this period however, deepest idle state may still be chosen necessarily regardless the latency constraint. Jacob Pan (3): pm/qos: allow state control of qos class cpuidle: check for pm qos constraint override thermal/powerclamp: communicate with pm qos when injecting idle drivers/cpuidle/governors/ladder.c | 4 ++++ drivers/cpuidle/governors/menu.c | 13 +++++++++++-- drivers/thermal/intel_powerclamp.c | 8 ++++++++ include/linux/pm_qos.h | 10 +++++++++- kernel/power/qos.c | 24 ++++++++++++++++++++++++ 5 files changed, 56 insertions(+), 3 deletions(-) -- 1.8.1.2