From: Alex Shi <alex.shi@intel.com>
To: mingo@redhat.com, peterz@infradead.org, tglx@linutronix.de,
akpm@linux-foundation.org, arjan@linux.intel.com, bp@alien8.de,
pjt@google.com, namhyung@kernel.org, efault@gmx.de
Cc: vincent.guittot@linaro.org, gregkh@linuxfoundation.org,
preeti@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
alex.shi@intel.com
Subject: [PATCH v3 13/22] sched: add sched_policy in kernel
Date: Sat, 5 Jan 2013 16:37:42 +0800 [thread overview]
Message-ID: <1357375071-11793-14-git-send-email-alex.shi@intel.com> (raw)
In-Reply-To: <1357375071-11793-1-git-send-email-alex.shi@intel.com>
Current scheduler behavior is just consider the for larger performance
of system. So it try to spread tasks on more cpu sockets and cpu cores
To adding the consideration of power awareness, the patchset adds
2 kinds of scheduler policy: powersaving and balance, the old scheduling
was taken as performance.
performance: the current scheduling behaviour, try to spread tasks
on more CPU sockets or cores.
powersaving: will shrink tasks into sched group until all LCPU in the
group is nearly full.
balance : will shrink tasks into sched group until group_capacity
numbers CPU is nearly full.
The following patches will enable powersaving scheduling in CFS.
Signed-off-by: Alex Shi <alex.shi@intel.com>
---
kernel/sched/fair.c | 2 ++
kernel/sched/sched.h | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 6fa10ac..f24aca6 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6100,6 +6100,8 @@ static unsigned int get_rr_interval_fair(struct rq *rq, struct task_struct *task
return rr_interval;
}
+/* The default scheduler policy is 'performance'. */
+int __read_mostly sched_policy = SCHED_POLICY_PERFORMANCE;
/*
* All the scheduling class methods:
*/
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index ae3511e..66b08a1 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -8,6 +8,12 @@
extern __read_mostly int scheduler_running;
+#define SCHED_POLICY_PERFORMANCE (0x1)
+#define SCHED_POLICY_POWERSAVING (0x2)
+#define SCHED_POLICY_BALANCE (0x4)
+
+extern int __read_mostly sched_policy;
+
/*
* Convert user-nice values [ -20 ... 0 ... 19 ]
* to static priority [ MAX_RT_PRIO..MAX_PRIO-1 ],
--
1.7.12
next prev parent reply other threads:[~2013-01-05 8:40 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-05 8:37 [PATCH V3 0/22] sched: simplified fork, enable load average into LB and power awareness scheduling Alex Shi
2013-01-05 8:37 ` [PATCH v3 01/22] sched: set SD_PREFER_SIBLING on MC domain to reduce a domain level Alex Shi
2013-01-05 8:37 ` [PATCH v3 02/22] sched: select_task_rq_fair clean up Alex Shi
2013-01-11 4:57 ` Preeti U Murthy
2013-01-05 8:37 ` [PATCH v3 03/22] sched: fix find_idlest_group mess logical Alex Shi
2013-01-11 4:59 ` Preeti U Murthy
2013-01-05 8:37 ` [PATCH v3 04/22] sched: don't need go to smaller sched domain Alex Shi
2013-01-09 17:38 ` Morten Rasmussen
2013-01-10 3:16 ` Mike Galbraith
2013-01-11 5:02 ` Preeti U Murthy
2013-01-05 8:37 ` [PATCH v3 05/22] sched: remove domain iterations in fork/exec/wake Alex Shi
2013-01-09 18:21 ` Morten Rasmussen
2013-01-11 2:46 ` Alex Shi
2013-01-11 10:07 ` Morten Rasmussen
2013-01-11 14:50 ` Alex Shi
2013-01-14 8:55 ` li guang
2013-01-14 9:18 ` Alex Shi
2013-01-11 4:56 ` Preeti U Murthy
2013-01-11 8:01 ` li guang
2013-01-11 14:56 ` Alex Shi
2013-01-14 9:03 ` li guang
2013-01-15 2:34 ` Alex Shi
2013-01-16 1:54 ` li guang
2013-01-11 10:54 ` Morten Rasmussen
2013-01-16 5:43 ` Alex Shi
2013-01-16 7:41 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 06/22] sched: load tracking bug fix Alex Shi
2013-01-05 8:37 ` [PATCH v3 07/22] sched: set initial load avg of new forked task Alex Shi
2013-01-11 5:10 ` Preeti U Murthy
2013-01-11 5:44 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 08/22] sched: update cpu load after task_tick Alex Shi
2013-01-05 8:37 ` [PATCH v3 09/22] sched: compute runnable load avg in cpu_load and cpu_avg_load_per_task Alex Shi
2013-01-05 8:56 ` Alex Shi
2013-01-06 7:54 ` Alex Shi
2013-01-06 18:31 ` Linus Torvalds
2013-01-07 7:00 ` Preeti U Murthy
2013-01-08 14:27 ` Alex Shi
2013-01-11 6:31 ` Alex Shi
2013-01-21 14:47 ` Alex Shi
2013-01-22 3:20 ` Alex Shi
2013-01-22 6:55 ` Mike Galbraith
2013-01-22 7:50 ` Alex Shi
2013-01-22 9:52 ` Mike Galbraith
2013-01-23 0:36 ` Alex Shi
2013-01-23 1:47 ` Mike Galbraith
2013-01-23 2:01 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 10/22] sched: consider runnable load average in move_tasks Alex Shi
2013-01-05 8:37 ` [PATCH v3 11/22] sched: consider runnable load average in effective_load Alex Shi
2013-01-10 11:28 ` Morten Rasmussen
2013-01-11 3:26 ` Alex Shi
2013-01-14 12:01 ` Morten Rasmussen
2013-01-16 5:30 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 12/22] Revert "sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking" Alex Shi
2013-01-05 8:37 ` Alex Shi [this message]
2013-01-05 8:37 ` [PATCH v3 14/22] sched: add sched_policy and it's sysfs interface Alex Shi
2013-01-14 6:53 ` Namhyung Kim
2013-01-14 8:11 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 15/22] sched: log the cpu utilization at rq Alex Shi
2013-01-10 11:40 ` Morten Rasmussen
2013-01-11 3:30 ` Alex Shi
2013-01-14 13:59 ` Morten Rasmussen
2013-01-16 5:53 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 16/22] sched: add power aware scheduling in fork/exec/wake Alex Shi
2013-01-10 15:01 ` Morten Rasmussen
2013-01-11 7:08 ` Alex Shi
2013-01-14 16:09 ` Morten Rasmussen
2013-01-16 6:02 ` Alex Shi
2013-01-16 14:27 ` Morten Rasmussen
2013-01-17 5:47 ` Namhyung Kim
2013-01-18 13:41 ` Alex Shi
2013-01-14 7:03 ` Namhyung Kim
2013-01-14 8:30 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 17/22] sched: packing small tasks in wake/exec balancing Alex Shi
2013-01-10 17:17 ` Morten Rasmussen
2013-01-11 3:47 ` Alex Shi
2013-01-14 7:13 ` Namhyung Kim
2013-01-16 6:11 ` Alex Shi
2013-01-16 12:52 ` Namhyung Kim
2013-01-14 17:00 ` Morten Rasmussen
2013-01-16 7:32 ` Alex Shi
2013-01-16 15:08 ` Morten Rasmussen
2013-01-18 14:06 ` Alex Shi
2013-01-05 8:37 ` [PATCH v3 18/22] sched: add power/performance balance allowed flag Alex Shi
2013-01-05 8:37 ` [PATCH v3 19/22] sched: pull all tasks from source group Alex Shi
2013-01-05 8:37 ` [PATCH v3 20/22] sched: don't care if the local group has capacity Alex Shi
2013-01-05 8:37 ` [PATCH v3 21/22] sched: power aware load balance, Alex Shi
2013-01-05 8:37 ` [PATCH v3 22/22] sched: lazy powersaving balance Alex Shi
2013-01-14 8:39 ` Namhyung Kim
2013-01-14 8:45 ` Alex Shi
2013-01-09 17:16 ` [PATCH V3 0/22] sched: simplified fork, enable load average into LB and power awareness scheduling Morten Rasmussen
2013-01-10 3:49 ` Alex Shi
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=1357375071-11793-14-git-send-email-alex.shi@intel.com \
--to=alex.shi@intel.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@linux.intel.com \
--cc=bp@alien8.de \
--cc=efault@gmx.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=preeti@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
--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
all inboxes | Powered by JetHome®