'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.
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
}
#endif
-extern union thread_union init_thread_union;
-extern struct task_struct init_task;
-
extern struct pid_namespace init_pid_ns;
/*
#include <linux/sched.h>
+struct task_struct;
+union thread_union;
+
/*
* This serializes "schedule()" and also protects
* the run-queue from deletions/modifications (but
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 */