/* gcc-3.4 accidentally inlines this function, so use noinline.  */
static noinline void __init_refok rest_init(void)
/* gcc-3.4 accidentally inlines this function, so use noinline.  */
static noinline void __init_refok rest_init(void)
{
	int pid;
	rcu_scheduler_starting();
	kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
	numa_default_policy();
	pid = kernel_thread(kthreadd, NULL, CLONE_FS | CLONE_FILES);
	kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
	unlock_kernel();
	init_idle_bootup_task(current);
	preempt_enable_no_resched();
	schedule();
	preempt_disable();
	cpu_idle();
}