From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viresh Kumar Subject: [PATCH V2 0/4] CPUFreq: Implement per policy instances of governors Date: Mon, 11 Feb 2013 13:19:59 +0530 Message-ID: Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Return-path: Received: from service87.mimecast.com ([91.220.42.44]:40564 "EHLO service87.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752696Ab3BKHuX (ORCPT ); Mon, 11 Feb 2013 02:50:23 -0500 Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: rjw@sisk.pl Cc: cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, robin.randhawa@arm.com, Steve.Bannister@arm.com, Liviu.Dudau@arm.com, charles.garcia-tobin@arm.com, linaro-dev@lists.linaro.org, francescolavra.fl@gmail.com, toddpoynor@google.com, Viresh Kumar This is targetted for 3.10-rc1 or linux-next just after the merge window. All patches are pushed here for others to apply: http://git.linaro.org/gitweb?p=3Dpeople/vireshk/linux.git;a=3Dshortlog;h=3D= refs/heads/cpufreq-updates-3.10 Currently, there can't be multiple instances of single governor_type. If we= have a multi-package system, where we have multiple instances of struct policy (= per package), we can't have multiple instances of same governor. i.e. We can't = have multiple instances of ondemand governor for multiple packages. Governors directory in sysfs is created at /sys/devices/system/cpu/cpufreq/ governor-name/. Which again reflects that there can be only one instance of= a governor_type in the system. This is a bottleneck for multicluster system, where we want different packa= ges to use same governor type, but with different tunables. This patchset is inclined towards fixing this issue. Now we will create governors directory in cpu/cpu*/cpufreq/ for platforms which have mult= iple struct policy alive at any moment. For others the interface is kept same: cpu/cpufreq/. V1->V2: - Few patches from V1 are already picked up by Rafael for 3.9-rc1 - Last two patches are new - Added dbs_data->exit() routines to free up memory used for struct tuners. @Rafael: I don't really want to have following patch: "cpufreq: Add Kconfig option to enable/disable have_multiple_policies" and added it because of co= mment from Borislov against which nobody else replied :) I still want to have your opinion on the same. Viresh Kumar (4): cpufreq: Add per policy governor-init/exit infrastructure cpufreq: governor: Implement per policy instances of governors cpufreq: Add Kconfig option to enable/disable have_multiple_policies cpufreq: Get rid of "struct global_attr" drivers/cpufreq/Kconfig | 3 + drivers/cpufreq/acpi-cpufreq.c | 9 +- drivers/cpufreq/cpufreq.c | 27 +++-- drivers/cpufreq/cpufreq_conservative.c | 148 +++++++++++++--------- drivers/cpufreq/cpufreq_governor.c | 159 ++++++++++++++---------- drivers/cpufreq/cpufreq_governor.h | 43 +++++-- drivers/cpufreq/cpufreq_ondemand.c | 216 +++++++++++++++++++----------= ---- drivers/cpufreq/intel_pstate.c | 30 ++--- include/linux/cpufreq.h | 44 ++++--- 9 files changed, 402 insertions(+), 277 deletions(-) --=20 1.7.12.rc2.18.g61b472e