[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <tip-cd62287e364c0d15d517c6ced4e4808b54711475@git.kernel.org>
Date: Fri, 1 Jul 2011 15:15:31 GMT
From: tip-bot for Mike Galbraith <mgalbraith@...e.de>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, mgalbraith@...e.de, hpa@...or.com,
mingo@...hat.com, ncrao@...gle.com, a.p.zijlstra@...llo.nl,
efault@....de, tglx@...utronix.de, mingo@...e.hu
Subject: [tip:sched/urgent] sched, cgroups: Fix MIN_SHARES on 64-bit boxen
Commit-ID: cd62287e364c0d15d517c6ced4e4808b54711475
Gitweb: http://git.kernel.org/tip/cd62287e364c0d15d517c6ced4e4808b54711475
Author: Mike Galbraith <mgalbraith@...e.de>
AuthorDate: Sat, 4 Jun 2011 15:03:20 +0200
Committer: Ingo Molnar <mingo@...e.hu>
CommitDate: Fri, 1 Jul 2011 10:25:03 +0200
sched, cgroups: Fix MIN_SHARES on 64-bit boxen
Commit c8b28116 ("sched: Increase SCHED_LOAD_SCALE resolution")
intended to have no user-visible effect, but allows setting
cpu.shares to < MIN_SHARES, which the user then sees.
Signed-off-by: Mike Galbraith <efault@....de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: Nikhil Rao <ncrao@...gle.com>
Link: http://lkml.kernel.org/r/1307192600.8618.3.camel@marge.simson.net
Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
kernel/sched.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/kernel/sched.c b/kernel/sched.c
index 3f2e502..9769c75 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -292,8 +292,8 @@ static DEFINE_SPINLOCK(task_group_lock);
* (The default weight is 1024 - so there's no practical
* limitation from this.)
*/
-#define MIN_SHARES 2
-#define MAX_SHARES (1UL << (18 + SCHED_LOAD_RESOLUTION))
+#define MIN_SHARES (1UL << 1)
+#define MAX_SHARES (1UL << 18)
static int root_task_group_load = ROOT_TASK_GROUP_LOAD;
#endif
@@ -8450,10 +8450,7 @@ int sched_group_set_shares(struct task_group *tg, unsigned long shares)
if (!tg->se[0])
return -EINVAL;
- if (shares < MIN_SHARES)
- shares = MIN_SHARES;
- else if (shares > MAX_SHARES)
- shares = MAX_SHARES;
+ shares = clamp(shares, scale_load(MIN_SHARES), scale_load(MAX_SHARES));
mutex_lock(&shares_mutex);
if (tg->shares == shares)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists