Wanpeng Li
d7921a5dda
sched/core: Fix rq lock pinning warning after call balance callbacks
This can be reproduced by running rt-migrate-test:
WARNING: CPU: 2 PID: 2195 at kernel/locking/lockdep.c:3670 lock_unpin_lock()
unpinning an unpinned lock
...
Call Trace:
dump_stack()
__warn()
warn_slowpath_fmt()
lock_unpin_lock()
__balance_callback()
__schedule()
schedule()
futex_wait_queue_me()
futex_wait()
do_futex()
SyS_futex()
do_syscall_64()
entry_SYSCALL64_slow_path()
Revert the rq_lock_irqsave() usage here, the whole point of the
balance_callback() was to allow dropping rq->lock.
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: 8a8c69c32778 ("sched/core: Add rq->lock wrappers")
Link: http://lkml.kernel.org/r/1489718719-3951-1-git-send-email-wanpeng.li@hotmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-03-23 07:44:51 +01:00
..
2017-02-08 09:01:11 +01:00
2017-03-02 08:42:28 +01:00
2017-03-02 08:42:30 +01:00
2017-03-02 08:42:34 +01:00
2017-03-23 07:44:51 +01:00
2017-02-01 09:13:47 +01:00
2016-03-21 11:00:28 +01:00
2017-03-02 08:42:24 +01:00
2016-09-05 13:29:43 +02:00
2017-03-05 23:58:48 +01:00
2016-08-16 22:14:55 +02:00
2017-03-02 08:42:24 +01:00
2014-11-16 10:58:59 +01:00
2017-03-02 08:42:39 +01:00
2017-03-16 09:37:38 +01:00
2017-03-02 08:42:38 +01:00
2017-03-16 09:46:25 +01:00
2017-03-16 09:46:21 +01:00
2017-01-14 11:29:30 +01:00
2017-03-02 08:42:26 +01:00
2017-03-16 09:21:01 +01:00
2017-02-08 09:01:11 +01:00
2017-03-16 09:41:35 +01:00
2017-03-16 09:46:23 +01:00
2015-02-13 21:21:37 -08:00
2017-03-03 01:45:22 +01:00
2017-01-14 11:29:30 +01:00
2017-03-02 08:42:32 +01:00
2017-02-07 10:58:12 +01:00
2017-03-08 10:36:03 -08:00