linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Rafael Wysocki <rjw@rjwysocki.net>
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Juri Lelli <Juri.Lelli@arm.com>,
	Robin Randhawa <robin.randhawa@arm.com>,
	Steve Muckle <smuckle.linux@gmail.com>,
	Viresh Kumar <viresh.kumar@linaro.org>
Subject: [PATCH V2 0/4] cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task
Date: Tue, 15 Nov 2016 13:53:19 +0530	[thread overview]
Message-ID: <cover.1479197311.git.viresh.kumar@linaro.org> (raw)

Hi,

If slow path frequency changes are conducted in a SCHED_OTHER context
then they may be delayed for some amount of time, including
indefinitely, when real time or deadline activity is taking place.

Move the slow path to a real time kernel thread using the kthread worker
infrastructure. In the future the thread should be made SCHED_DEADLINE.
The RT priority is arbitrarily set to 50 for now.

This was tested with Hackbench on ARM Exynos, dual core A15 platform and
no regressions were seen. The third patch has more details on it.

This work was started by Steve Muckle, where he used a simple kthread
instead of kthread-worker and that wasn't sufficient as some guarantees
weren't met.

I was wondering if the same should be done for ondemand/conservative
governors as well ?

V1->V2:
- first patch is new based on Peter's suggestions.
- fixed indented label
- Moved kthread creation/destruction into separate routines
- Used MACRO instead of magic number '50'
- minor formatting, commenting and improved commit logs

--
viresh

Viresh Kumar (4):
  cpufreq: schedutil: Avoid indented labels
  cpufreq: schedutil: enable fast switch earlier
  cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task
  cpufreq: schedutil: irq-work and mutex are only used in slow path

 kernel/sched/cpufreq_schedutil.c | 119 ++++++++++++++++++++++++++++++++-------
 1 file changed, 99 insertions(+), 20 deletions(-)

-- 
2.7.1.410.g6faf27b

             reply	other threads:[~2016-11-15  8:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-15  8:23 Viresh Kumar [this message]
2016-11-15  8:23 ` [PATCH V2 1/4] cpufreq: schedutil: Avoid indented labels Viresh Kumar
2016-11-15  8:23 ` [PATCH V2 2/4] cpufreq: schedutil: enable fast switch earlier Viresh Kumar
2016-11-15  8:23 ` [PATCH V2 3/4] cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task Viresh Kumar
2016-11-16 15:26   ` Peter Zijlstra
2016-11-24  1:19     ` Rafael J. Wysocki
2016-11-24  4:51   ` Ingo Molnar
2016-11-24  5:10     ` Viresh Kumar
2016-11-15  8:23 ` [PATCH V2 4/4] cpufreq: schedutil: irq-work and mutex are only used in slow path Viresh Kumar
2016-11-24  4:53   ` Ingo Molnar
2016-11-24  6:12     ` Viresh Kumar
2016-11-24  6:24       ` Ingo Molnar
2016-11-24  3:01 ` [PATCH V2 0/4] cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task Steve Muckle
2016-11-24  4:04   ` 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.1479197311.git.viresh.kumar@linaro.org \
    --to=viresh.kumar@linaro.org \
    --cc=Juri.Lelli@arm.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=robin.randhawa@arm.com \
    --cc=smuckle.linux@gmail.com \
    --cc=vincent.guittot@linaro.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;
as well as URLs for NNTP newsgroup(s).