All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched: fix the broken sched_rr_get_interval()
@ 2013-01-08  4:56 Zhu Yanhai
  2013-01-24 20:15 ` [tip:sched/core] sched: Fix " tip-bot for Zhu Yanhai
  0 siblings, 1 reply; 2+ messages in thread
From: Zhu Yanhai @ 2013-01-08  4:56 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel, Zhu Yanhai

The caller of sched_sliced() should pass se.cfs_rq and se as the arguments, 
however in sched_rr_get_interval() we gave it rq.cfs_rq and se, which made
the following compution obviously wrong.

The change was introduced by commit 77034937, while it had been correct 'cfs_rq_of'
before the commit. Besides the change seems to be irrelevant to the commit
msg, which was to return a 0 timeslice for tasks that are on an idle runqueue.
So I believe that was just a plain typo.

Signed-off-by: Zhu Yanhai <gaoyang.zyh@taobao.com>
---
 kernel/sched/fair.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 5eea870..a7a19ff 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6101,7 +6101,7 @@ static unsigned int get_rr_interval_fair(struct rq *rq, struct task_struct *task
 	 * idle runqueue:
 	 */
 	if (rq->cfs.load.weight)
-		rr_interval = NS_TO_JIFFIES(sched_slice(&rq->cfs, se));
+		rr_interval = NS_TO_JIFFIES(sched_slice(cfs_rq_of(se), se));
 
 	return rr_interval;
 }
-- 
1.8.0.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [tip:sched/core] sched: Fix the broken sched_rr_get_interval()
  2013-01-08  4:56 [PATCH] sched: fix the broken sched_rr_get_interval() Zhu Yanhai
@ 2013-01-24 20:15 ` tip-bot for Zhu Yanhai
  0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Zhu Yanhai @ 2013-01-24 20:15 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, torvalds, pjt, peterz, rostedt, akpm,
	tglx, gaoyang.zyh

Commit-ID:  a59f4e079d19464eebb9b06513a1d4f55fdae5ba
Gitweb:     http://git.kernel.org/tip/a59f4e079d19464eebb9b06513a1d4f55fdae5ba
Author:     Zhu Yanhai <gaoyang.zyh@taobao.com>
AuthorDate: Tue, 8 Jan 2013 12:56:52 +0800
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 24 Jan 2013 14:41:00 +0100

sched: Fix the broken sched_rr_get_interval()

The caller of sched_sliced() should pass se.cfs_rq and se as the
arguments, however in sched_rr_get_interval() we gave it
rq.cfs_rq and se, which made the following computation obviously
wrong.

The change was introduced by commit:

  77034937dc45 sched: fix crash in sys_sched_rr_get_interval()

... 5 years ago, while it had been the correct 'cfs_rq_of' before
the commit. The change seems to be irrelevant to the commit
msg, which was to return a 0 timeslice for tasks that are on an
idle runqueue. So I believe that was just a plain typo.

Signed-off-by: Zhu Yanhai <gaoyang.zyh@taobao.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Paul Turner <pjt@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1357621012-15039-1-git-send-email-gaoyang.zyh@taobao.com
[ Since this is an ABI and an old bug, we'll test this via a
  slow upstream route, to hopefully discover any app breakage. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/fair.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 5eea870..a7a19ff 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6101,7 +6101,7 @@ static unsigned int get_rr_interval_fair(struct rq *rq, struct task_struct *task
 	 * idle runqueue:
 	 */
 	if (rq->cfs.load.weight)
-		rr_interval = NS_TO_JIFFIES(sched_slice(&rq->cfs, se));
+		rr_interval = NS_TO_JIFFIES(sched_slice(cfs_rq_of(se), se));
 
 	return rr_interval;
 }

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-01-24 20:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-08  4:56 [PATCH] sched: fix the broken sched_rr_get_interval() Zhu Yanhai
2013-01-24 20:15 ` [tip:sched/core] sched: Fix " tip-bot for Zhu Yanhai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.