From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Parth Shah <parth015@linux.vnet.ibm.com>, linux-pm@vger.kernel.org
Subject: Re: [RFC 5/6] Improvise cgroup interface for classifying jitter from WOF tasks
Date: Thu, 11 Apr 2019 18:01:29 +0200 [thread overview]
Message-ID: <52dc3a49-60c0-476f-4a01-c805861458cc@arm.com> (raw)
In-Reply-To: <20190322060621.27021-6-parth015@linux.vnet.ibm.com>
On 3/22/19 7:06 AM, Parth Shah wrote:
> Signed-off-by: Parth Shah <parth015@linux.vnet.ibm.com>
> ---
> kernel/sched/fair.c | 40 +++++++++++++++++++++++++++++++++++++---
> kernel/sched/sched.h | 2 ++
> 2 files changed, 39 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 7ecf5ed0b391..c7be5803a37c 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -27,9 +27,15 @@
> /*
> * Maintain cpumask to track the core occupying throughput intensive tasks,
> * which are usually high utilization tasks.
> + *
> + * WOF(Workload Optimized Frequency) tasks are manually classified(task_type=2)
This contradicts with patch 2/6:
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 903ef29b62c3..be8e8617e0cb 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -604,6 +604,14 @@ struct task_struct {
unsigned int flags;
unsigned int ptrace;
+ /*
+ * task_characteristics:
+ * 0 = unknown. Follows regular CFS policy for task placement.
+ * 1 = Throughput intensive high utilization task
+ * 2 = Jitter tasks. Should be packed to reduce active core count.
+ */
+ long long unsigned task_type;
> + * high utilization tasks which may get benefit of higher frequencies, because
> + * of higher Instructions per seconds metric. > */
> static struct cpumask __highutil_task_cpu_mask;
> #define highutil_task_cpu_mask ((struct cpumask *)&__highutil_task_cpu_mask)
> +static struct cpumask __wof_tasks_cpu_mask;
> +#define wof_tasks_cpu_mask ((struct cpumask *)&__wof_tasks_cpu_mask)
>
> /*
> * Targeted preemption latency for CPU-bound tasks:
> @@ -5184,6 +5190,16 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
> flags = ENQUEUE_WAKEUP;
> }
>
> + /*
> + * If TurboSched feature is enabled and task is of WOF type(=1)
> + * then mark it on the rq
> + */
> + if (turbo_sched_enabled() && p->task_type == 1)
... and with the code here.
[...]
next prev parent reply other threads:[~2019-04-11 16:01 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 ` [RFC 3/6] Introduce static key to enable or disable TurboSched Parth Shah
[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-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
[not found] ` <20190322060621.27021-6-parth015@linux.vnet.ibm.com>
2019-04-11 16:01 ` Dietmar Eggemann [this message]
2019-04-12 11:28 ` [RFC 5/6] Improvise cgroup interface for classifying jitter from WOF tasks Parth Shah
2019-04-12 13:08 ` Dietmar Eggemann
2019-04-12 15:48 ` Parth Shah
2019-04-15 10:27 ` Dietmar Eggemann
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=52dc3a49-60c0-476f-4a01-c805861458cc@arm.com \
--to=dietmar.eggemann@arm.com \
--cc=linux-pm@vger.kernel.org \
--cc=parth015@linux.vnet.ibm.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