mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] sched/core: Remove unnecessary initialization init_idle_bootup_task()
@ 2017-08-04  9:19 Cheng Jian
  2017-08-04  9:43 ` Peter Zijlstra
  2017-08-10 12:09 ` [tip:sched/core] " tip-bot for Cheng Jian
  0 siblings, 2 replies; 3+ messages in thread
From: Cheng Jian @ 2017-08-04  9:19 UTC (permalink / raw)
  To: mingo, peterz, akpm; +Cc: linux-kernel, xiexiuqi, huawei.libin, cj.chengjian

init_idle_bootup_task( ) is called in rest_init( ) to switch
the scheduling class of the boot thread to the idle class

the function only set :
    idle->sched_class = &idle_sched_class;
which has been set in init_idle() called by sched_init()
    /*
     * The idle tasks have their own, simple scheduling class:
     */
    idle->sched_class = &idle_sched_class;

We've already set the boot thread to idle class in
start_kernel()->sched_init()->init_idle()
so it's unnecessary to set it again in
start_kernel()->rest_init()->init_idle_bootup_task()

Signed-off-by: Cheng Jian <cj.chengjian@huawei.com>
Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
---
 include/linux/sched/task.h | 1 -
 init/main.c                | 1 -
 kernel/sched/core.c        | 5 -----
 3 files changed, 7 deletions(-)

diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
index c97e5f0..79a2a74 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
@@ -30,7 +30,6 @@
 
 extern asmlinkage void schedule_tail(struct task_struct *prev);
 extern void init_idle(struct task_struct *idle, int cpu);
-extern void init_idle_bootup_task(struct task_struct *idle);
 
 extern int sched_fork(unsigned long clone_flags, struct task_struct *p);
 extern void sched_dead(struct task_struct *p);
diff --git a/init/main.c b/init/main.c
index 052481f..881d624 100644
--- a/init/main.c
+++ b/init/main.c
@@ -430,7 +430,6 @@ static noinline void __ref rest_init(void)
 	 * The boot idle thread must execute schedule()
 	 * at least once to get things moving:
 	 */
-	init_idle_bootup_task(current);
 	schedule_preempt_disabled();
 	/* Call into cpu_idle with preempt disabled */
 	cpu_startup_entry(CPUHP_ONLINE);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 0869b20..7377cac 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5177,11 +5177,6 @@ void show_state_filter(unsigned long state_filter)
 		debug_show_all_locks();
 }
 
-void init_idle_bootup_task(struct task_struct *idle)
-{
-	idle->sched_class = &idle_sched_class;
-}
-
 /**
  * init_idle - set up an idle thread for a given CPU
  * @idle: task in question
-- 
1.8.3.1

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

* Re: [PATCH] sched/core: Remove unnecessary initialization init_idle_bootup_task()
  2017-08-04  9:19 [PATCH] sched/core: Remove unnecessary initialization init_idle_bootup_task() Cheng Jian
@ 2017-08-04  9:43 ` Peter Zijlstra
  2017-08-10 12:09 ` [tip:sched/core] " tip-bot for Cheng Jian
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Zijlstra @ 2017-08-04  9:43 UTC (permalink / raw)
  To: Cheng Jian; +Cc: mingo, akpm, linux-kernel, xiexiuqi, huawei.libin

On Fri, Aug 04, 2017 at 05:19:37PM +0800, Cheng Jian wrote:
> init_idle_bootup_task( ) is called in rest_init( ) to switch
> the scheduling class of the boot thread to the idle class
> 
> the function only set :
>     idle->sched_class = &idle_sched_class;
> which has been set in init_idle() called by sched_init()
>     /*
>      * The idle tasks have their own, simple scheduling class:
>      */
>     idle->sched_class = &idle_sched_class;
> 
> We've already set the boot thread to idle class in
> start_kernel()->sched_init()->init_idle()
> so it's unnecessary to set it again in
> start_kernel()->rest_init()->init_idle_bootup_task()

Yeah, does look a bit redundant. Thanks!

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

* [tip:sched/core] sched/core: Remove unnecessary initialization init_idle_bootup_task()
  2017-08-04  9:19 [PATCH] sched/core: Remove unnecessary initialization init_idle_bootup_task() Cheng Jian
  2017-08-04  9:43 ` Peter Zijlstra
@ 2017-08-10 12:09 ` tip-bot for Cheng Jian
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Cheng Jian @ 2017-08-10 12:09 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: akpm, mingo, hpa, xiexiuqi, torvalds, cj.chengjian, huawei.libin,
	tglx, peterz, linux-kernel

Commit-ID:  18f08dae19990f5fffde92e3a63e0d90cda0f1a8
Gitweb:     http://git.kernel.org/tip/18f08dae19990f5fffde92e3a63e0d90cda0f1a8
Author:     Cheng Jian <cj.chengjian@huawei.com>
AuthorDate: Fri, 4 Aug 2017 17:19:37 +0800
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 10 Aug 2017 12:18:18 +0200

sched/core: Remove unnecessary initialization init_idle_bootup_task()

init_idle_bootup_task( ) is called in rest_init( ) to switch
the scheduling class of the boot thread to the idle class.

the function only sets:

    idle->sched_class = &idle_sched_class;

which has been set in init_idle() called by sched_init():

    /*
     * The idle tasks have their own, simple scheduling class:
     */
    idle->sched_class = &idle_sched_class;

We've already set the boot thread to idle class in
start_kernel()->sched_init()->init_idle()
so it's unnecessary to set it again in
start_kernel()->rest_init()->init_idle_bootup_task()

Signed-off-by: Cheng Jian <cj.chengjian@huawei.com>
Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: <akpm@linux-foundation.org>
Cc: <huawei.libin@huawei.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1501838377-109720-1-git-send-email-cj.chengjian@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 include/linux/sched/task.h | 1 -
 init/main.c                | 1 -
 kernel/sched/core.c        | 5 -----
 3 files changed, 7 deletions(-)

diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
index c97e5f0..79a2a74 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
@@ -30,7 +30,6 @@ extern int lockdep_tasklist_lock_is_held(void);
 
 extern asmlinkage void schedule_tail(struct task_struct *prev);
 extern void init_idle(struct task_struct *idle, int cpu);
-extern void init_idle_bootup_task(struct task_struct *idle);
 
 extern int sched_fork(unsigned long clone_flags, struct task_struct *p);
 extern void sched_dead(struct task_struct *p);
diff --git a/init/main.c b/init/main.c
index 052481f..881d624 100644
--- a/init/main.c
+++ b/init/main.c
@@ -430,7 +430,6 @@ static noinline void __ref rest_init(void)
 	 * The boot idle thread must execute schedule()
 	 * at least once to get things moving:
 	 */
-	init_idle_bootup_task(current);
 	schedule_preempt_disabled();
 	/* Call into cpu_idle with preempt disabled */
 	cpu_startup_entry(CPUHP_ONLINE);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 835a234..6d91c10 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5177,11 +5177,6 @@ void show_state_filter(unsigned long state_filter)
 		debug_show_all_locks();
 }
 
-void init_idle_bootup_task(struct task_struct *idle)
-{
-	idle->sched_class = &idle_sched_class;
-}
-
 /**
  * init_idle - set up an idle thread for a given CPU
  * @idle: task in question

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

end of thread, other threads:[~2017-08-10 12:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-04  9:19 [PATCH] sched/core: Remove unnecessary initialization init_idle_bootup_task() Cheng Jian
2017-08-04  9:43 ` Peter Zijlstra
2017-08-10 12:09 ` [tip:sched/core] " tip-bot for Cheng Jian

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®