Merge tag 'linux-watchdog-5.12-rc1' of git://www.linux-watchdog.org/linux-watchdog
[linux-2.6-microblaze.git] / kernel / cpu.c
index 2b8d7a5..1b6302e 100644 (file)
@@ -330,6 +330,13 @@ void lockdep_assert_cpus_held(void)
        percpu_rwsem_assert_held(&cpu_hotplug_lock);
 }
 
+#ifdef CONFIG_LOCKDEP
+int lockdep_is_cpus_held(void)
+{
+       return percpu_rwsem_is_held(&cpu_hotplug_lock);
+}
+#endif
+
 static void lockdep_acquire_cpus_lock(void)
 {
        rwsem_acquire(&cpu_hotplug_lock.dep_map, 0, 0, _THIS_IP_);
@@ -1606,7 +1613,7 @@ static struct cpuhp_step cpuhp_hp_states[] = {
                .name                   = "ap:online",
        },
        /*
-        * Handled on controll processor until the plugged processor manages
+        * Handled on control processor until the plugged processor manages
         * this itself.
         */
        [CPUHP_TEARDOWN_CPU] = {
@@ -1615,6 +1622,13 @@ static struct cpuhp_step cpuhp_hp_states[] = {
                .teardown.single        = takedown_cpu,
                .cant_stop              = true,
        },
+
+       [CPUHP_AP_SCHED_WAIT_EMPTY] = {
+               .name                   = "sched:waitempty",
+               .startup.single         = NULL,
+               .teardown.single        = sched_cpu_wait_empty,
+       },
+
        /* Handle smpboot threads park/unpark */
        [CPUHP_AP_SMPBOOT_THREADS] = {
                .name                   = "smpboot/threads:online",