linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: rjw@sisk.pl
Cc: cpufreq@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linaro-kernel@lists.linaro.org,
	robin.randhawa@arm.com, Steve.Bannister@arm.com,
	Liviu.Dudau@arm.com, charles.garcia-tobin@arm.com,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: [PATCH V3 0/4] CPUFreq: Implement per policy instances of governors
Date: Mon,  4 Mar 2013 15:37:52 +0800	[thread overview]
Message-ID: <cover.1362381470.git.viresh.kumar@linaro.org> (raw)

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=people/vireshk/linux.git;a=shortlog;h=refs/heads/for-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 packages
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/<gov> for platforms which have multiple
struct policy alive at any moment. For others the interface is kept same:
cpu/cpufreq/<gov>.

@Rafael: Clearly, I don't want to have following patch: "cpufreq: Add Kconfig
option to enable/disable have_multiple_policies" and added it because of comment
from Borislov against which nobody else replied :)

So, please drop it if you agree over my comments with earlier version.

V2->V3:
- Fixed value of CPUFREQ_GOV_POLICY_EXIT in the correct patch
- Drop indentation fixes from intel_pstate.c

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.

Viresh Kumar (4):
  cpufreq: Add per policy governor-init/exit infrastructure
  cpufreq: governor: Implement per policy instances of governors
  cpufreq: Get rid of "struct global_attr"
  cpufreq: Add Kconfig option to enable/disable have_multiple_policies

 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         |  20 +--
 include/linux/cpufreq.h                |  44 ++++---
 9 files changed, 397 insertions(+), 272 deletions(-)

-- 
1.7.12.rc2.18.g61b472e


             reply	other threads:[~2013-03-04  7:38 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-04  7:37 Viresh Kumar [this message]
2013-03-04  7:37 ` [PATCH V3 1/4] cpufreq: Add per policy governor-init/exit infrastructure Viresh Kumar
2013-03-04  7:37 ` [PATCH V3 2/4] cpufreq: governor: Implement per policy instances of governors Viresh Kumar
2013-03-20  5:29   ` Viresh Kumar
2013-03-21 23:44     ` Rafael J. Wysocki
2013-03-22  2:20       ` Viresh Kumar
2013-03-22 11:55         ` Rafael J. Wysocki
2013-03-22 11:51           ` Viresh Kumar
2013-03-22 12:11             ` Rafael J. Wysocki
2013-03-22 12:05               ` Viresh Kumar
2013-03-26 15:20       ` Jacob Shin
2013-03-26 19:32         ` Viresh Kumar
2013-03-26 19:48           ` Jacob Shin
2013-03-27  4:29             ` Viresh Kumar
2013-03-27 10:04               ` Viresh Kumar
2013-03-27 11:35                 ` Viresh Kumar
2013-03-27 14:37                   ` Viresh Kumar
2013-03-04  7:37 ` [PATCH V3 3/4] cpufreq: Get rid of "struct global_attr" Viresh Kumar
2013-03-04  7:37 ` [PATCH V3 4/4] cpufreq: Add Kconfig option to enable/disable have_multiple_policies Viresh Kumar
2013-03-11 23:38   ` Rafael J. Wysocki
2013-03-12  0:55     ` Viresh Kumar
2013-03-13 21:41       ` Rafael J. Wysocki
2013-03-14  3:09         ` Viresh Kumar
2013-03-20  0:20           ` Rafael J. Wysocki
2013-03-20  4:23             ` Viresh Kumar
2013-03-20  5:16               ` Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1362381470.git.viresh.kumar@linaro.org \
    --to=viresh.kumar@linaro.org \
    --cc=Liviu.Dudau@arm.com \
    --cc=Steve.Bannister@arm.com \
    --cc=charles.garcia-tobin@arm.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=robin.randhawa@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).