Re: [PATCH] sched: cleanup adjusting sched_class

Previous thread: by Steven Rostedt on Monday, September 24, 2007 - 4:44 pm. (2 messages)

Next thread: /proc/kallsyms and symbol size by Stephane Eranian on Monday, September 24, 2007 - 4:55 pm. (3 messages)
To: Dmitry Adamushko <dmitry.adamushko@...>, Ingo Molnar <mingo@...>
Cc: Andrew Morton <akpm@...>, Peter Zijlstra <a.p.zijlstra@...>, <linux-kernel@...>
Date: Monday, September 24, 2007 - 4:51 pm

Hi Ingo and Dmitry,

I made a clean-up patch about fixing invalid sched_class use.

Dmitry, could you please review and sign it?

The adjusting sched_class is a missing part of the already existing
"do not leak PI boosting priority to the child" at the sched_fork().
This patch moves the adjusting sched_class from wake_up_new_task()
to sched_fork().

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
---

diff --git a/kernel/sched.c b/kernel/sched.c
index 6107a0c..8862761 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -1641,6 +1641,8 @@ void sched_fork(struct task_struct *p, int clone_flags)
* Make sure we do not leak PI boosting priority to the child:
*/
p->prio = current->normal_prio;
+ if (!rt_prio(p->prio))
+ p->sched_class = &fair_sched_class;

#if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT)
if (likely(sched_info_on()))
@@ -1682,11 +1684,6 @@ void fastcall wake_up_new_task(struct task_struct *p, unsigned long clone_flags)

p->prio = effective_prio(p);

- if (rt_prio(p->prio))
- p->sched_class = &rt_sched_class;
- else
- p->sched_class = &fair_sched_class;
-
if (!p->sched_class->task_new || !sysctl_sched_child_runs_first ||
(clone_flags & CLONE_VM) || task_cpu(p) != this_cpu ||
!current->se.on_rq) {

-

To: Hiroshi Shimamoto <h-shimamoto@...>
Cc: Dmitry Adamushko <dmitry.adamushko@...>, Andrew Morton <akpm@...>, Peter Zijlstra <a.p.zijlstra@...>, <linux-kernel@...>
Date: Monday, September 24, 2007 - 6:03 pm

thanks. Note that your cleanup also shrinks the code a bit:

text data bss dec hex filename
40111 4018 292 44421 ad85 sched.o.before
40102 4018 292 44412 ad7c sched.o.after

which never hurts :)

Ingo
-

To: Hiroshi Shimamoto <h-shimamoto@...>
Cc: Ingo Molnar <mingo@...>, Andrew Morton <akpm@...>, Peter Zijlstra <a.p.zijlstra@...>, <linux-kernel@...>
Date: Monday, September 24, 2007 - 5:51 pm

Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com>

--
Best regards,
Dmitry Adamushko
-

To: Dmitry Adamushko <dmitry.adamushko@...>
Cc: Hiroshi Shimamoto <h-shimamoto@...>, Andrew Morton <akpm@...>, Peter Zijlstra <a.p.zijlstra@...>, <linux-kernel@...>
Date: Monday, September 24, 2007 - 6:00 pm

thanks - i've picked up Hiroshi's cleanup.

Ingo
-

Previous thread: by Steven Rostedt on Monday, September 24, 2007 - 4:44 pm. (2 messages)

Next thread: /proc/kallsyms and symbol size by Stephane Eranian on Monday, September 24, 2007 - 4:55 pm. (3 messages)