From: Parth Shah <parth015@linux.vnet.ibm.com>
To: Akshay Adiga <overenthusiasticakshay@gmail.com>,
Doug Smythies <dsmythies@telus.net>
Cc: linux-pm@vger.kernel.org
Subject: Re: [RFC 3/6] Introduce static key to enable or disable TurboSched
Date: Sun, 7 Apr 2019 12:13:42 +0530 [thread overview]
Message-ID: <e7c8bfbd-a4b4-d671-7a18-c645697452e0@linux.vnet.ibm.com> (raw)
In-Reply-To: <20190404095854.GB25302@aks.ibm>
On 4/4/19 3:28 PM, Akshay Adiga wrote:
> On Mon, Mar 25, 2019 at 03:42:48PM -0700, Doug Smythies wrote:
>> On 2019.03.21 23:06 Parth Shah wrote:
>>
>>> Signed-off-by: Parth Shah <parth015@linux.vnet.ibm.com>
>>> ---
>>> kernel/sched/core.c | 36 ++++++++++++++++++++++++++++++++++++
>>> kernel/sched/fair.c | 2 +-
>>> kernel/sched/sched.h | 7 +++++++
>>> 3 files changed, 44 insertions(+), 1 deletion(-)
>>
>> ...[snip]...
>>
>> I wanted to try this patch set with a particular work flow.
>> I actually don't think it will help, but wanted to try it.
>>
>> Forgive me if this is something that should be obvious but...
>>
>> I have not been able to figure out how to enable or disable
>> Turboshed.
>>
>> This patch suggests that I should be able to, but how?
>>
>> I have a kernel 5.1-rc1 with this entire patch set added.
>>
>> ... Doug
>>
>>
> I think he added attribute called cpu.turbo_sched for each cpu controller.
>
> In order to enable this feature you need first create a cpu cgroup, and set
> the attribute value cpu.turbo_sched to :
> - cpu.turbo_sched = 1 (tasks benefiting from high freq) or
> - cpu.turbo_sched = 2 (tasks which are jitters)
>
> Looks like the feature is disabled by default or cpu.turbo_sched = 0.
>
Correct Akshay.
In fact, one can follow the below procedure to create 2 different categories
of workload,
cd /sys/fs/cgroup/cpu/
mkdir type1
execute type1_workload
echo `pidof type1_workload` > type1/cgroup.procs && echo 1 > type1/cpu.turbo_sched
mkdir type2
execute type2_workload
echo `pidof type2_workload` > type2/cgroup.procs && echo 2 > type2/cpu.turbo_sched
where Type1 = tasks benefiting from high freq
and Type2 = tasks which are jitters
One can use the test benchmark (wofbench.c) to have a quick demo of TurboSched as follows
Execute program with 8 jitters and 8 High util tasks: wofbench -t 30 -h 8 -n 16
Create cgroup: cd /sys/fs/cgroup/cpu/ && mkdir type2
Put task: echo `pidof wofbench`> type2/cgroup.procs && echo 2 > type2/cpu.turbo_sched
Result: Jitters will be packed on the same core as other 8 High util tasks.
Thus during multi-thread workload execution, if the system throttles frequency
due to power budget constraint of the system, using these patches may result in
sustaining of higher frequencies by keeping maximum cores idle.
Hope this helps. Thanks
next prev parent reply other threads:[~2019-04-07 6:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20190322060621.27021-1-parth015@linux.vnet.ibm.com>
[not found] ` <20190322060621.27021-2-parth015@linux.vnet.ibm.com>
[not found] ` <0b198386-ef0b-75e0-e53a-1160c77326b7@arm.com>
2019-04-07 5:57 ` [RFC 1/6] Optimize wake-up task for Task Packing heuristic Parth Shah
2019-04-10 16:33 ` Dietmar Eggemann
2019-04-11 14:05 ` Dietmar Eggemann
2019-04-11 14:44 ` Parth Shah
[not found] ` <20190322060621.27021-4-parth015@linux.vnet.ibm.com>
[not found] ` <001101d4e35c$13951220$3abf3660$@net>
[not found] ` <20190404095854.GB25302@aks.ibm>
2019-04-07 6:43 ` Parth Shah [this message]
[not found] ` <20190322060621.27021-7-parth015@linux.vnet.ibm.com>
2019-04-10 16:39 ` [RFC 6/6] Providing TurboSched as config option Dietmar Eggemann
[not found] ` <20190322060621.27021-3-parth015@linux.vnet.ibm.com>
2019-04-11 13:46 ` [RFC 2/6] Provide cgroup interface for manual jitter classification Dietmar Eggemann
2019-04-15 7:23 ` Parth Shah
[not found] ` <20190322060621.27021-6-parth015@linux.vnet.ibm.com>
2019-04-11 16:01 ` [RFC 5/6] Improvise cgroup interface for classifying jitter from WOF tasks Dietmar Eggemann
2019-04-12 11:28 ` Parth Shah
2019-04-12 13:08 ` Dietmar Eggemann
2019-04-12 15:48 ` Parth Shah
2019-04-15 10:27 ` Dietmar Eggemann
[not found] ` <20190322060621.27021-5-parth015@linux.vnet.ibm.com>
2019-04-11 15:54 ` [RFC 4/6] Add cpumask to track throughput intensive tasks Dietmar Eggemann
2019-04-12 10:47 ` Dietmar Eggemann
2019-04-12 11:16 ` Parth Shah
2019-04-12 10:58 ` Dietmar Eggemann
2019-04-12 11:31 ` Parth Shah
2019-04-12 11:13 ` Dietmar Eggemann
2019-04-12 11:23 ` Parth Shah
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=e7c8bfbd-a4b4-d671-7a18-c645697452e0@linux.vnet.ibm.com \
--to=parth015@linux.vnet.ibm.com \
--cc=dsmythies@telus.net \
--cc=linux-pm@vger.kernel.org \
--cc=overenthusiasticakshay@gmail.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