[PATCH 42/53] sched/headers: Move 'init_task' and 'init_thread_union' from <linux/sched.h> to <linux/sched/task.h>

From: Ingo Molnar
Date: Wed Feb 08 2017 - 14:15:22 EST


'init_task' is really not part of core scheduler APIs but part of
the fork() interface between the scheduler and process management.

So move the declarations.

Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
include/linux/sched.h | 3 ---
include/linux/sched/task.h | 6 ++++++
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index dfdc64cc7c06..5478c419b2d9 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1465,9 +1465,6 @@ static inline int kstack_end(void *addr)
}
#endif

-extern union thread_union init_thread_union;
-extern struct task_struct init_task;
-
extern struct pid_namespace init_pid_ns;

/*
diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
index 20ed9108f261..1be049a18d1b 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
@@ -8,6 +8,9 @@

#include <linux/sched.h>

+struct task_struct;
+union thread_union;
+
/*
* This serializes "schedule()" and also protects
* the run-queue from deletions/modifications (but
@@ -17,6 +20,9 @@
extern rwlock_t tasklist_lock;
extern spinlock_t mmlist_lock;

+extern union thread_union init_thread_union;
+extern struct task_struct init_task;
+
#ifdef CONFIG_PROVE_RCU
extern int lockdep_tasklist_lock_is_held(void);
#endif /* #ifdef CONFIG_PROVE_RCU */
--
2.7.4