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