Subject: locking/lglocks: Use preempt_enable/disable_nort() in lg_double_[un]lock From: Mike Galbraith Date: Sat, 27 Feb 2016 08:34:43 +0100 Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.6/older/patches-4.6.2-rt5.tar.xz Let's not do that when snagging an rtmutex. Signed-off-by: Mike Galbraith Cc: Sebastian Andrzej Siewior Cc: linux-rt-users Signed-off-by: Thomas Gleixner --- kernel/locking/lglock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/kernel/locking/lglock.c +++ b/kernel/locking/lglock.c @@ -86,7 +86,7 @@ void lg_double_lock(struct lglock *lg, i if (cpu2 < cpu1) swap(cpu1, cpu2); - preempt_disable(); + preempt_disable_nort(); lock_acquire_shared(&lg->lock_dep_map, 0, 0, NULL, _RET_IP_); lg_do_lock(per_cpu_ptr(lg->lock, cpu1)); lg_do_lock(per_cpu_ptr(lg->lock, cpu2)); @@ -97,7 +97,7 @@ void lg_double_unlock(struct lglock *lg, lock_release(&lg->lock_dep_map, 1, _RET_IP_); lg_do_unlock(per_cpu_ptr(lg->lock, cpu1)); lg_do_unlock(per_cpu_ptr(lg->lock, cpu2)); - preempt_enable(); + preempt_enable_nort(); } void lg_global_lock(struct lglock *lg)