LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Arto Merilainen <amerilainen@nvidia.com>
To: <myungjoo.ham@samsung.com>, <kyungmin.park@samsung.com>,
	<tomeu.vizoso@collabora.com>, <gnurou@gmail.com>
Cc: <javier.martinez@collabora.co.uk>, <linuxpm@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <swarren@wwwdotorg.org>,
	<thierry.reding@gmail.com>, <grant.likely@linaro.org>,
	<srasal@nvidia.com>, <amerilainen@nvidia.com>
Subject: [RFC 0/3] Add watermark support to devfreq
Date: Fri, 5 Dec 2014 15:32:51 +0200	[thread overview]
Message-ID: <1417786374-375-1-git-send-email-amerilainen@nvidia.com> (raw)

Currently main mechanism to implement scaling using devfreq is
polling and the device profile is free to set polling interval.
However, in many cases this approach is not optimal; We may
unnecessarily use CPU time to determine load on engine that
is idle most of time - or we may simply read load when we
already know that the device is busy.

In some cases a device itself has counters to track its activity
and possibility to raise interrupts when load goes above or below
certain threshold.

This series adds support for watermark events to devfreq and
introduces two example governors. The first patch adds two
callbacks to the device profile (for setting watermark) and
adds a new function call to devfreq that informs of crossed
watermark.

The added governors demonstrate usage of the new API. The first
governor (watermark simple) sets device to trigger low watermark
event when load goes below 10% and high watermark interrupt when
the load goes above 60%. Watermark active tries to keep load at
certain level and it actively sets thresholds based on the
frequency table in order get interrupts only when the load value
would affect to the current frequency in re-estimation.

Arto Merilainen (1):
  PM / devfreq: Add watermark active governor

Shridhar Rasal (2):
  PM / devfreq: Add watermark events
  PM / devfreq: Add watermark simple governor

 drivers/devfreq/Kconfig                 |  18 +++
 drivers/devfreq/Makefile                |   2 +
 drivers/devfreq/devfreq.c               |  19 +++
 drivers/devfreq/governor.h              |   1 +
 drivers/devfreq/governor_wmark_active.c | 276 ++++++++++++++++++++++++++++++++
 drivers/devfreq/governor_wmark_simple.c | 245 ++++++++++++++++++++++++++++
 include/linux/devfreq.h                 |  26 +++
 7 files changed, 587 insertions(+)
 create mode 100644 drivers/devfreq/governor_wmark_active.c
 create mode 100644 drivers/devfreq/governor_wmark_simple.c

-- 
1.8.1.5


             reply	other threads:[~2014-12-05 13:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-05 13:32 Arto Merilainen [this message]
2014-12-05 13:32 ` [RFC 1/3] PM / devfreq: Add watermark events Arto Merilainen
2014-12-05 13:32 ` [RFC 2/3] PM / devfreq: Add watermark simple governor Arto Merilainen
2014-12-05 13:32 ` [RFC 3/3] PM / devfreq: Add watermark active governor Arto Merilainen

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=1417786374-375-1-git-send-email-amerilainen@nvidia.com \
    --to=amerilainen@nvidia.com \
    --cc=gnurou@gmail.com \
    --cc=grant.likely@linaro.org \
    --cc=javier.martinez@collabora.co.uk \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxpm@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=srasal@nvidia.com \
    --cc=swarren@wwwdotorg.org \
    --cc=thierry.reding@gmail.com \
    --cc=tomeu.vizoso@collabora.com \
    --subject='Re: [RFC 0/3] Add watermark support to devfreq' \
    /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

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).