Thomas, Please fold this change into cpu-rt-make-hotplug-lock-a-sleeping-spinlock-on-rt.patch As the patch was never tested (nor even compiled) it introduced a nasty bug into taking a CPU down instead of fixing one. Thanks, -- Steve diff --git a/kernel/cpu.c b/kernel/cpu.c index c25b5ff..66dfb74 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -59,16 +59,20 @@ static struct { int refcount; } cpu_hotplug = { .active_writer = NULL, +#ifdef CONFIG_PREEMPT_RT_FULL + .lock = __SPIN_LOCK_UNLOCKED(cpu_hotplug.lock), +#else .lock = __MUTEX_INITIALIZER(cpu_hotplug.lock), +#endif .refcount = 0, }; #ifdef CONFIG_PREEMPT_RT_FULL -# define hotplug_lock() spin_lock(&cpu_hotplug.lock) -# define hotplug_unlock() spin_unlock(&cpu_hotplug.lock) +# define hotplug_lock() rt_spin_lock(&cpu_hotplug.lock) +# define hotplug_unlock() rt_spin_unlock(&cpu_hotplug.lock) #else # define hotplug_lock() mutex_lock(&cpu_hotplug.lock) -# define hotplug_lock() mutex_unlock(&cpu_hotplug.lock) +# define hotplug_unlock() mutex_unlock(&cpu_hotplug.lock) #endif struct hotplug_pcp { -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html