Revert "kernel/sched: Modify initial boot task idle setup"

Now that rcutiny can deal with early boot PF_IDLE setting, revert
commit cff9b2332ab762b7e0586c793c431a8f2ea4db04.

This fixes several subtle issues introduced on RCU-tasks(-trace):

1) RCU-tasks stalls when:

   1.1 Grace period is started before init/0 had a chance to set PF_IDLE,
       keeping it stuck in the holdout list until idle ever schedules.

   1.2 Grace period is started when some possible CPUs have never been
       online, keeping their idle tasks stuck in the holdout list until
       the CPU ever boots up.

   1.3 Similar to 1.1 but with secondary CPUs: Grace period is started
       concurrently with secondary CPU booting, putting its idle task in
       the holdout list because PF_IDLE isn't yet observed on it. It
       stays then stuck in the holdout list until that CPU ever
       schedules. The effect is mitigated here by all the smpboot
       kthreads and the hotplug AP thread that must run to bring the
       CPU up.

2) Spurious warning on RCU task trace that assumes offline CPU's idle
   task is always PF_IDLE.

More issues have been found in RCU-tasks related to PF_IDLE which should
be fixed with later changes as those are not regressions:

3)

Fixes: cff9b2332ab7 ("kernel/sched: Modify initial boot task idle setup")
Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
2 files changed