hotplug: drop patch now in stable

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/patches/series b/patches/series
index 3d67fcd..eed8254 100644
--- a/patches/series
+++ b/patches/series
@@ -16,8 +16,6 @@
 ############################################################
 lockdep-Fix-compilation-error-for-CONFIG_MODULES-and.patch
 
-smp-hotplug-Move-unparking-of-percpu-threads-to-the-.patch
-
 # a few patches from tip's sched/core
 sched-clock-Initialize-all-per-CPU-state-before-swit.patch
 x86-tsc-sched-clock-clocksource-Use-clocksource-watc.patch
diff --git a/patches/smp-hotplug-Move-unparking-of-percpu-threads-to-the-.patch b/patches/smp-hotplug-Move-unparking-of-percpu-threads-to-the-.patch
deleted file mode 100644
index b60a804..0000000
--- a/patches/smp-hotplug-Move-unparking-of-percpu-threads-to-the-.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From: Thomas Gleixner <tglx@linutronix.de>
-Date: Thu, 6 Jul 2017 01:57:55 -0700
-Subject: [PATCH] smp/hotplug: Move unparking of percpu threads to the control
- CPU
-
-Upstream commit 9cd4f1a4e7a858849e889a081a99adff83e08e4c
-
-Vikram reported the following backtrace:
-
-   BUG: scheduling while atomic: swapper/7/0/0x00000002
-   CPU: 7 PID: 0 Comm: swapper/7 Not tainted 4.9.32-perf+ #680
-   schedule
-   schedule_hrtimeout_range_clock
-   schedule_hrtimeout
-   wait_task_inactive
-   __kthread_bind_mask
-   __kthread_bind
-   __kthread_unpark
-   kthread_unpark
-   cpuhp_online_idle
-   cpu_startup_entry
-   secondary_start_kernel
-
-He analyzed correctly that a parked cpu hotplug thread of an offlined CPU
-was still on the runqueue when the CPU came back online and tried to unpark
-it. This causes the thread which invoked kthread_unpark() to call
-wait_task_inactive() and subsequently schedule() with preemption disabled.
-His proposed workaround was to "make sure" that a parked thread has
-scheduled out when the CPU goes offline, so the situation cannot happen.
-
-But that's still wrong because the root cause is not the fact that the
-percpu thread is still on the runqueue and neither that preemption is
-disabled, which could be simply solved by enabling preemption before
-calling kthread_unpark().
-
-The real issue is that the calling thread is the idle task of the upcoming
-CPU, which is not supposed to call anything which might sleep.  The moron,
-who wrote that code, missed completely that kthread_unpark() might end up
-in schedule().
-
-The solution is simpler than expected. The thread which controls the
-hotplug operation is waiting for the CPU to call complete() on the hotplug
-state completion. So the idle task of the upcoming CPU can set its state to
-CPUHP_AP_ONLINE_IDLE and invoke complete(). This in turn wakes the control
-task on a different CPU, which then can safely do the unpark and kick the
-now unparked hotplug thread of the upcoming CPU to complete the bringup to
-the final target state.
-
-Control CPU                     AP
-
-bringup_cpu();
-  __cpu_up()  ------------>
-				bringup_ap();
-  bringup_wait_for_ap()
-    wait_for_completion();
-                                cpuhp_online_idle();
-                <------------    complete();
-    unpark(AP->stopper);
-    unpark(AP->hotplugthread);
-                                while(1)
-                                  do_idle();
-    kick(AP->hotplugthread);
-    wait_for_completion();	hotplug_thread()
-				  run_online_callbacks();
-				  complete();
-
-Fixes: 8df3e07e7f21 ("cpu/hotplug: Let upcoming cpu bring itself fully up")
-Reported-by: Vikram Mulukutla <markivx@codeaurora.org>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Acked-by: Peter Zijlstra <peterz@infradead.org>
-Cc: Sebastian Sewior <bigeasy@linutronix.de>
-Cc: Rusty Russell <rusty@rustcorp.com.au>
-Cc: Tejun Heo <tj@kernel.org>
-Cc: Andrew Morton <akpm@linux-foundation.org>
-Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1707042218020.2131@nanos
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
----
- kernel/cpu.c |   37 ++++++++++++++++++-------------------
- 1 file changed, 18 insertions(+), 19 deletions(-)
-
---- a/kernel/cpu.c
-+++ b/kernel/cpu.c
-@@ -344,13 +344,25 @@ void cpu_hotplug_enable(void)
- EXPORT_SYMBOL_GPL(cpu_hotplug_enable);
- #endif	/* CONFIG_HOTPLUG_CPU */
- 
--/* Notifier wrappers for transitioning to state machine */
-+static void __cpuhp_kick_ap_work(struct cpuhp_cpu_state *st);
- 
- static int bringup_wait_for_ap(unsigned int cpu)
- {
- 	struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu);
- 
-+	/* Wait for the CPU to reach CPUHP_AP_ONLINE_IDLE */
- 	wait_for_completion(&st->done);
-+	BUG_ON(!cpu_online(cpu));
-+
-+	/* Unpark the stopper thread and the hotplug thread of the target cpu */
-+	stop_machine_unpark(cpu);
-+	kthread_unpark(st->thread);
-+
-+	/* Should we go further up ? */
-+	if (st->target > CPUHP_AP_ONLINE_IDLE) {
-+		__cpuhp_kick_ap_work(st);
-+		wait_for_completion(&st->done);
-+	}
- 	return st->result;
- }
- 
-@@ -371,9 +383,7 @@ static int bringup_cpu(unsigned int cpu)
- 	irq_unlock_sparse();
- 	if (ret)
- 		return ret;
--	ret = bringup_wait_for_ap(cpu);
--	BUG_ON(!cpu_online(cpu));
--	return ret;
-+	return bringup_wait_for_ap(cpu);
- }
- 
- /*
-@@ -859,31 +869,20 @@ void notify_cpu_starting(unsigned int cp
- }
- 
- /*
-- * Called from the idle task. We need to set active here, so we can kick off
-- * the stopper thread and unpark the smpboot threads. If the target state is
-- * beyond CPUHP_AP_ONLINE_IDLE we kick cpuhp thread and let it bring up the
-- * cpu further.
-+ * Called from the idle task. Wake up the controlling task which brings the
-+ * stopper and the hotplug thread of the upcoming CPU up and then delegates
-+ * the rest of the online bringup to the hotplug thread.
-  */
- void cpuhp_online_idle(enum cpuhp_state state)
- {
- 	struct cpuhp_cpu_state *st = this_cpu_ptr(&cpuhp_state);
--	unsigned int cpu = smp_processor_id();
- 
- 	/* Happens for the boot cpu */
- 	if (state != CPUHP_AP_ONLINE_IDLE)
- 		return;
- 
- 	st->state = CPUHP_AP_ONLINE_IDLE;
--
--	/* Unpark the stopper thread and the hotplug thread of this cpu */
--	stop_machine_unpark(cpu);
--	kthread_unpark(st->thread);
--
--	/* Should we go further up ? */
--	if (st->target > CPUHP_AP_ONLINE_IDLE)
--		__cpuhp_kick_ap_work(st);
--	else
--		complete(&st->done);
-+	complete(&st->done);
- }
- 
- /* Requires cpu_add_remove_lock to be held */