mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: dirk.brandewie@gmail.com
To: linux-kernel@vger.kernel.org, cpufreq@vger.kernel.org
Cc: Dirk Brandewie <dirk.brandewie@gmail.com>
Subject: [PATCH 0/7] Add P state driver for Intel Core Processors
Date: Tue,  5 Feb 2013 10:23:59 -0800	[thread overview]
Message-ID: <1360088646-19104-1-git-send-email-dirk.brandewie@gmail.com> (raw)

From: Dirk Brandewie <dirk.brandewie@gmail.com>

This driver implements a scaling driver with an internal governor for
Intel Core processors.  The driver follows the same model as the
Transmeta scaling driver (longrun.c) and implements the setpolicy()
instead of target().  Scaling drivers that implement setpolicy() are
assmuned to implement internal governors by the cpufreq core. All the
logic for selecting the current P state is contained within the driver
no external governor is used by the cpufreq core.

At the moment only Intel SandyBridge processors are supported. As
testing on SandyBridge+ processors is completed support will be added
to the driver.

New sysfs files for controlling P state selection have been added to
/sys/devices/system/cpu/intel_pstate/
      max_perf_pct: limits the maximum P state that will be requested by
      the driver stated as a percentage of the avail performance.
    
      min_perf_pct: limits the minimum P state that will be  requested by
      the driver stated as a percentage of the avail performance.
    
      no_turbo: limits the driver to selecting P states below the turbo
      frequency range.

The units for these for these files are purposely abstract and stated
in terms of available performance and not frequency.  In idea that
frequency can be set to a single frequency is a fiction for Intel Core
processors. Even if the scaling driver selects a single P state the
actual frequency the processor will run at is selected by the
processor

This patch set is based on Rafael's bleeding edge branch commit df9d5b7c
Patch 1:
    Viresh's patch for the sake of completeness

patch 2-5:
    Fix issues related to scaling drivers that implement the
    setpolicy() interface instead of target()

patch 6:
    Fix cpufreq_stats to handle the scaling driver not exposing a
    frequency table while processing CPU_DOWN_PREPARE notification
Patch 7:
    The driver itself

Dirk Brandewie (6):
  cpufreq: Retrieve current frequency from scaling drivers with
    internal governors
  cpufreq: Only query drivers that implement cpufreq_driver.target()
  cpufreq: Do not track governor name for scaling drivers with internal
    governors.
  cpufreq: balance out cpufreq_cpu_{get,put} for scaling drivers using
    setpolicy
  cpufreq_stats: do not remove sysfs files if frequency table is not
    present
  cpufreq/x86: Add P-state driver for sandy bridge.

Viresh Kumar (1):
  cpufreq: Don't remove sysfs link for policy->cpu

 drivers/cpufreq/Kconfig.x86     |   18 +
 drivers/cpufreq/Makefile        |    1 +
 drivers/cpufreq/cpufreq.c       |   21 +-
 drivers/cpufreq/cpufreq_stats.c |    5 +
 drivers/cpufreq/intel_pstate.c  |  829 +++++++++++++++++++++++++++++++++++++++
 5 files changed, 870 insertions(+), 4 deletions(-)
 create mode 100644 drivers/cpufreq/intel_pstate.c

-- 
1.7.7.6


             reply	other threads:[~2013-02-05 18:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-05 18:23 dirk.brandewie [this message]
2013-02-05 18:24 ` [PATCH 1/7] cpufreq: Don't remove sysfs link for policy->cpu dirk.brandewie
2013-02-06  1:42   ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 2/7] cpufreq: Retrieve current frequency from scaling drivers with internal governors dirk.brandewie
2013-02-06  1:41   ` Viresh Kumar
2013-02-06  1:45   ` Viresh Kumar
2013-02-06  2:15     ` Dirk Brandewie
2013-02-06  2:25       ` Viresh Kumar
2013-02-06  2:31         ` Dirk Brandewie
2013-02-06  2:46           ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 3/7] cpufreq: Only query drivers that implement cpufreq_driver.target() dirk.brandewie
2013-02-06  1:47   ` Viresh Kumar
2013-02-06  2:06     ` Dirk Brandewie
2013-02-06  2:43       ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 4/7] cpufreq: Do not track governor name for scaling drivers with internal governors dirk.brandewie
2013-02-06  1:50   ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 5/7] cpufreq: balance out cpufreq_cpu_{get,put} for scaling drivers using setpolicy dirk.brandewie
2013-02-06  1:58   ` Viresh Kumar
2013-02-06  2:08     ` Dirk Brandewie
2013-02-06  2:45       ` Viresh Kumar
2013-02-06 16:11         ` Dirk Brandewie
2013-02-06 16:19           ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 6/7] cpufreq_stats: do not remove sysfs files if frequency table is not present dirk.brandewie
2013-02-06  2:18   ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 7/7] cpufreq/x86: Add P-state driver for sandy bridge dirk.brandewie

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=1360088646-19104-1-git-send-email-dirk.brandewie@gmail.com \
    --to=dirk.brandewie@gmail.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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

all inboxes | Powered by JetHome®